以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教在窗口中输入报错问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=133987) |
||||
-- 作者:weipeng6999 -- 发布时间:2019/4/24 17:33:00 -- 请教在窗口中输入报错问题 老师好!我做了个窗口输入,目的是想在“单位名称”中输入“单位1”,在产品中输入“惠普”后,在“价格”总自动输入“4000”。 我在datacolchanged中写的代码: Dim txt1 As String =e.Form.Controls("DropBox1").text Dim txt2 As String =e.Form.Controls("TextBox2").text Dim txt3 As String =e.Form.Controls("TextBox3").text Dim dr As DataRow = DataTables("单位资料").find("单位名称 = \'" & txt1 & "\'and 产品 =\'" & txt2 &"\'") If dr IsNot Nothing Then txt3 = dr("价格") End If 运行后报错 “.NET Framework 版本:2.0.50727.8800 Foxtable 版本:2019.4.12.1 错误所在事件:表,单位资料,DataColChanged 详细错误信息: 调用的目标发生了异常。 未将对象引用设置到对象的实例。” 请教老师该如何修改!
|
||||
-- 作者:有点甜 -- 发布时间:2019/4/24 17:40:00 -- 没必要这样写,参考
http://www.foxtable.com/webhelp/scr/1451.htm
|
||||
-- 作者:weipeng6999 -- 发布时间:2019/4/26 14:53:00 -- 老师,我修改后,对应的价格还是出不来,请指教! 窗口中单位名称是用的DropDownBox取值 If e.DataCol.Name = "产品" Then If e.NewValue Is Nothing Then e.DataRow("价格") = Nothing Else Dim dr As DataRow dr = DataTables("单位资料").Find("[单位名称] = \'" & e.NewValue & "\'and [产品]=\'" & e.newvalue &"\'") If dr IsNot Nothing Then e.DataRow("价格") = dr("价格") End If End If End If
[此贴子已经被作者于2019/4/26 14:59:11编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2019/4/26 15:03:00 -- Select Case e.DataCol.Name Case "单位名称","产品" If e.DataRow("单位名称") = "单位1" AndAlso e.DataRow("产品") = "惠普" Then e.DataRow("价格") = 4000 End If End Select
|
||||
-- 作者:weipeng6999 -- 发布时间:2019/4/26 15:16:00 -- 我想根据表“单位资料”中的字段“单位名称”和“产品”自动判断“价格”。
[此贴子已经被作者于2019/4/26 15:19:37编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2019/4/26 15:20:00 -- 那您想做到什么样子?根据什么逻辑?取什么值? |
||||
-- 作者:weipeng6999 -- 发布时间:2019/4/26 15:20:00 -- 我的想法是在表中输入一次“单位名称”和“产品”对应的价格后,以后再输入相同的“单位名称”及“产品”,就能自动显示出“价格”。 [此贴子已经被作者于2019/4/26 15:20:51编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2019/4/26 15:30:00 -- Select Case e.DataCol.Name Case "单位名称","产品" Dim dr As DataRow = e.DataTable.find("[单位名称] = \'" & e.DataRow("单位名称") & "\' and [产品]=\'" & e.DataRow("产品") & "\' and 价格 is not null And [_Identify] <> " & e.DataRow("_Identify")) If dr IsNot Nothing Then e.DataRow("价格") = dr("价格") End If End Select
|
||||
-- 作者:weipeng6999 -- 发布时间:2019/4/26 15:43:00 -- 完美,谢谢! 请问下_Identify在这里主要是起什么作用? [此贴子已经被作者于2019/4/26 15:44:35编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2019/4/26 15:47:00 -- 查询的时候忽略当前行 |