以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]筛选问题?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=7296)

--  作者:抽烟男人
--  发布时间:2010/6/4 21:14:00
--  [求助]筛选问题?

示例"筛选窗口.table"中,开始日期设为1999-02-02 其它为空白筛选项后

 

运行如下代码

 

Dim dk As dataRow
dk = dataTables("订单").Find("产品 = \'PD03\'")
dk("日期")=#02/02/1999#.adddays(-1)

 

该行自动隐藏,

手工将日期改为1999-02-01时不会隐藏

 

用什么方法可以改动日期又不会隐藏?


--  作者:czy
--  发布时间:2010/6/4 21:24:00
--  
没看懂。
--  作者:e-png
--  发布时间:2010/6/4 23:56:00
--  

楼主说的现象存在~  这样测试更能说明清楚:

Tables("订单").filter = "日期 >= #1999-2-2#"
Dim dk As Row = Tables("订单").current
output.show("1 当前行日期: " & dk("日期") & " 当前表行数:  " & Tables("订单").count)
dk("日期") =#02/02/1999#.adddays(-1)
output.show("2 当前行日期: " & dk("日期") & " 当前表行数:  " & Tables("订单").count)

 

结果为:‘当前行也许不是这个1999-2-3 日期,但用代码将该行日期的改为1999-2-1后,该行会自动被隐藏起来了(看下面当前表行数)。如果不用上面代码而用手动修改当前行,则不会自动隐藏,即行数不会减少。

1 当前行日期: 1999-2-3 当前表行数:  186
2 当前行日期: 1999-2-1 当前表行数:  185

 

[此贴子已经被作者于2010-6-5 0:02:06编辑过]

--  作者:抽烟男人
--  发布时间:2010/6/5 0:02:00
--  

我没说清楚,

用filter筛选后,用代码把原来符合筛选条件变成不符合筛选条件的行就会自动隐藏

而手工去改却不会隐藏

有没有办法用代码改后还不会隐藏


--  作者:czy
--  发布时间:2010/6/5 0:11:00
--  

 

原来手工修改也会即时隐藏的,后来大家反映强烈老六改成了现有的方式。

代码修改后不隐藏,目前没有办法,只能看老六了。


--  作者:e-png
--  发布时间:2010/6/5 0:25:00
--  
手工修改和代码修改数据要一致才好,否则会引起混乱的,望老大重视一下。
--  作者:狐狸爸爸
--  发布时间:2010/6/5 7:30:00
--  

我看看