以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  给 逻辑字段赋值True 提示出错?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=186044)

--  作者:gudao123456
--  发布时间:2023/4/3 12:00:00
--  给 逻辑字段赋值True 提示出错?
在表中由逻辑字段 sfscyhzz,在表事件中添加了语句:

  If e.DataRow("pklx_xxrd") Like "2014*"   Then  
            msgbox(e.DataRow("pklx_xxrd") )
   e.DataRow("sfscyhzz")=True   
end if 

执行到  e.DataRow("sfscyhzz")=True   时,提示: 调用的目标发生了异常。

为何?如何解决? 谢谢!

--  作者:有点蓝
--  发布时间:2023/4/3 12:02:00
--  
调试

  If e.DataRow("pklx_xxrd") Like "2014*"   Then  
            msgbox(e.DataRow("sfscyhzz") )
   e.DataRow("sfscyhzz")=True   
            msgbox(e.DataRow("sfscyhzz") )
end if 

--  作者:gudao123456
--  发布时间:2023/4/3 17:24:00
--  
结果是 True,是对的,但点击确定后,问题还是出现
但我只要把   e.DataRow("sfscyhzz")=True   注释掉,问题就不出现了,估计还是  e.DataRow("sfscyhzz")=True   出了问题 
[此贴子已经被作者于2023/4/3 17:24:47编辑过]

--  作者:有点蓝
--  发布时间:2023/4/3 17:37:00
--  
这个赋值不应该有问题,应该是又触发了其它的代码。
--  作者:gudao123456
--  发布时间:2023/4/4 0:15:00
--  
谢谢!表面上是没有直接激发其他事件,但再一个 if 语句中,找到了问题
   If   e.DataRow("sfscyhzz")=True    Then  \'差异化资助
e.DataRow("mzfxm")=Nothing
        Exit For        
                   
 End If

 问题就在 e.DataRow("mzfxm")=Nothing  
在if 语句之前也有过e.DataRow("mzfxm")=Nothing  但没有报错,为什么到这里就不行了呢?
 如果把赋值改为空格之外的任意字符都可以,如 e.DataRow("mzfxm")=“N”  都没有报错,结果也对,就是空格和 Nothing 不行,不知何故?谢谢!


[此贴子已经被作者于2023/4/4 0:56:34编辑过]

--  作者:有点蓝
--  发布时间:2023/4/4 8:27:00
--  
应该仍然是又触发了其它有问题的代码