以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  逻辑字段的第三种状态  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=85231)

--  作者:凡夫俗子
--  发布时间:2016/5/20 21:11:00
--  逻辑字段的第三种状态

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160520210606.png
图片点击可在新窗口打开查看


晕 在FOXTABLE中 逻辑字段 不是两种状态 而是三种状态

一种是 明确的 TRUE 或1 状态 可用 Tables("K3采购入库").Filter = "[核销] = true"  进行过滤

一种是 明确的 FALSE 或0 状态 可用 Tables("K3采购入库").Filter = "[核销] = FALSE"  进行过滤

如果逻辑字段没有设置任何状态 则Tables("K3采购入库").Filter = "[核销] = true"
Tables("K3采购入库").Filter = "[核销] = false"  都不能过滤 ,但是如果直接输出该值 时FOXTABLE又能输出为值为FALSE

说明FOXTABLE在对逻辑字段进行处理时,具备二义性,输出结果不统一

--  作者:xiaoohoo
--  发布时间:2016/5/20 22:03:00
--  
check本身具有三态
--  作者:凡夫俗子
--  发布时间:2016/5/21 10:43:00
--  
问题是通过FILL填充的数据能自动处理 逻辑字段为两种状态

而通过 load 方式加载的数据,同样的表逻辑字段确是两种状态。 


能将两种方法处理成一样的不,不要这里这样,那里又不一样。

--  作者:lyq
--  发布时间:2016/5/21 11:37:00
--  
你在sql数据库中修改下【核销】字段的列属性默认值或绑定设置为:((0))即可以了
--  作者:大红袍
--  发布时间:2016/5/22 12:12:00
--  

试试这样

 

Tables("K3采购入库").Filter = "[核销] = true or [核销] is null"