以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] 求助关于dr("列名")判断 偶尔失灵,有没有更稳定的方法 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=88541) |
-- 作者:zhengboxin -- 发布时间:2016/8/4 17:03:00 -- [求助] 求助关于dr("列名")判断 偶尔失灵,有没有更稳定的方法 在窗体表中,我用 Tables("").fill(""),"外部数据源",True) 加载了表,外部数据源是 SQL 2008 R2 在保存的时候我用到了下面的公式以及if 判断 if dr("YZTJ")<>0 then XXH=Format(CInt(dr("XH"))+1+dr("YZTJ"),"000") else XXH=Format(CInt(dr("XH"))+1,"000") END IF
上面的公式偶尔会出现dr("YZTJ")这个不计算,也就是明明不是0,结果却是0,也可能是if dr("YZTJ")<>0 这个判断失效了,总之就是dr("YZTJ")=0了
举个列子:
XH=001 ,YZTJ 字段类型是int,值为2
正常情况下上面公式的结果应该是004吧,但是偶尔结果会变成002,概率很小,也就是dr("YZTJ")这个系统算成0了,没有参与计算或者应该是直接执行else语句去了
请教一下各位老师,上面的if 判断有没有更好的方法,万分感谢 [此贴子已经被作者于2016/8/4 17:08:35编辑过]
|
-- 作者:大红袍 -- 发布时间:2016/8/4 17:36:00 -- 代码没问题的,这个判断没问题。 |