以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- and 和andalso会导致不一样的结果? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=105425) |
-- 作者:lur320 -- 发布时间:2017/8/18 21:16:00 -- and 和andalso会导致不一样的结果? Dim dr As DataRow dr=DataTables("Order").Find("planvsactual = \'Actual\' and so_no =\'" & e.node.Name & "\'") If dr IsNot Nothing Then For Each c As WinForm.Control In e.Form.Controls If Typeof c Is WinForm.CheckBox Then \'判断控件是否是文本框 Dim t As WinForm.CheckBox = c \'使用特定类型的变量引用控件 For Each Cl As DataCol In DataTables("Order").DataCols If cl.name = t.name And dr(cl.name) <> #1/1/1 0:00:00# Then t.Checked=True MessageBox.Show(cl.name & t.name & dr(cl.name)) End If Next End If Next End If 上面这个代码会出错。显示:从字符串“1232ff”到类型“Date”的转换无效。 下面这个代码就运行正常 Dim dr As DataRow dr=DataTables("Order").Find("planvsactual = \'Actual\' and so_no =\'" & e.node.Name & "\'") If dr IsNot Nothing Then For Each c As WinForm.Control In e.Form.Controls If Typeof c Is WinForm.CheckBox Then \'判断控件是否是文本框 Dim t As WinForm.CheckBox = c \'使用特定类型的变量引用控件 For Each Cl As DataCol In DataTables("Order").DataCols If cl.name = t.name Andalso dr(cl.name) <> #1/1/1 0:00:00# Then t.Checked=True MessageBox.Show(cl.name & t.name & dr(cl.name)) End If Next End If Next End If 有人知道为什么么?是“=”运行的先后顺序么?
|
-- 作者:lur320 -- 发布时间:2017/8/18 21:16:00 -- 1232ff 是t.name |
-- 作者:有点蓝 -- 发布时间:2017/8/18 21:44:00 -- http://www.foxtable.com/webhelp/scr/0220.htm 括起来试试 If (cl.name = t.name) And (dr(cl.name) <> #1/1/1 0:00:00#) Then
|
-- 作者:lur320 -- 发布时间:2017/8/18 21:53:00 -- 恩。夸起来有用 |