以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  运用Filler时发现的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=10805)

--  作者:kylin
--  发布时间:2011/6/24 13:28:00
--  运用Filler时发现的问题

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:filler示例.foxdb

上午用Filler做数据填充拷贝,发现存在这个问题

 

说明:例子中jjclmx1是我所用的数据源,jjclmx2是反复几次中补填了出库单号的数据源,初步的结论是:在有一列是空的前提之下,Filler是不完全的

 

具体详见窗口说明,和观察两个按钮后产生的数据对比。


--  作者:mr725
--  发布时间:2011/6/24 13:45:00
--  

没有开发版,贴出filter的代码看看吧。。。

 


--  作者:狐狸爸爸
--  发布时间:2011/6/24 14:47:00
--  

为空补上调价:

 

 

某列  <> \'123’  or 某列 Is NULL


--  作者:kylin
--  发布时间:2011/6/24 15:44:00
--  

看来老六有时候也马虎了,mr25也马虎了

 

一个字母的差异,一楼所提到的问题不是filter,而是数据填充器filler,请老六下载我上传的例子瞧一下,应该是存在着问题,呵呵

 

代码很简单的,情况也说明得比较清楚

 


--  作者:狐狸爸爸
--  发布时间:2011/6/24 15:49:00
--  

呵呵, 收到


--  作者:狐狸爸爸
--  发布时间:2011/6/25 8:12:00
--  

正确的代码应该是:

 

DataTables("clmx").DataRows.Clear
Dim f As New Filler
f.SourceTable = DataTables("jjclmx1") \'指定数据来源
f.DataTable = DataTables("clmx") \'指定数据接收表
f.Distinct = False
f.fill
e.Form.Controls("TextBox1").value = DataTables("jjclmx1").Compute("sum(出库金额)")
e.Form.Controls("TextBox2").value = DataTables("clmx").Compute("sum(出库金额)")


--  作者:kylin
--  发布时间:2011/6/25 9:15:00
--  

明白,还是自己不小心,呵呵

 

不过还是建议这个Distinct属性能默认不排除重复!

 

 

 

 


--  作者:狐狸爸爸
--  发布时间:2011/6/25 9:19:00
--  
呵呵,大部分时候是要排除重复的啊
--  作者:kylin
--  发布时间:2011/6/25 9:25:00
--  

我做这么多个项目,还是不排除重复的,基本上都是拷贝明细的数据。

 

如果要得到不重复的地方,还基本上是提取某列的不重复值,又不需要用这个Filler,有的是其他办法。

 

还是这样建议Distinct属性能默认不排除重复。

 

这样改动是否可行,请老六斟酌!呵呵


--  作者:狐狸爸爸
--  发布时间:2011/6/25 9:26:00
--  

filler问世已久,不能改的,改了的话,很多人的系统会出问题的。