以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于逻辑的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=178863) |
-- 作者:rjh4078 -- 发布时间:2022/7/25 7:25:00 -- 关于逻辑的问题 在datacolchanged事件(其它事件暂未测试)中 如果某个字段是逻辑列,使用1和0时无法触发事件 必须使用true false 这个能否统一一下. 比如事件中的代码 Select Case e.DataCol.Name Case "第三列" If e.NewValue = True Then MessageBox.Show("1") End if End Select 触发的代码是 dr("第三列")=1 |
-- 作者:有点蓝 -- 发布时间:2022/7/25 8:42:00 -- 这个玩意不是统一不统一的问题,正常vb语言逻辑值就是true/false。其它用法都是不严谨的。 至于【dr("第三列")=1】可以执行,那涉及到比较深层的计算机原理问题,不好解释。简单的说就是逻辑值,赋值0就是false,任何其它值都是true。转换为二进制,就是除了0之外,其它任何数值都至少会有一个1,机器都会解释为真。 下面代码可以自己测试一下: Dim a, b As Boolean a = -1 b = 1 Output.Show(a) Output.Show(b) Output.Show(a = b) a = 0 b = 999 Output.Show(a) Output.Show(a = 0) Output.Show(b = 1) Output.Show(b = 999) Output.Show(b = True) |
-- 作者:rjh4078 -- 发布时间:2022/7/25 13:11:00 -- 感谢 学习了 |