以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何写Merger筛选代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=40478)

--  作者:czy66ds
--  发布时间:2013/9/21 14:35:00
--  如何写Merger筛选代码

“Merger

示例七

合并Excel文件:

Dim mg As New Merger
mg.SourcePath = "c:\\data\\销售管理.xls"
mg.Format = "excel" \'指定格式
mg.SourceTableName = "订单" \'指定要合并的表
mg.DataTableName = "订单" \'指定接收数据的表
mg.Merge() \'开始合并”

------以上是摘自狐表使用指南中的一段----------

下边我开问:

 

假定我要合并超过某个固定日期后的记录可以加上一行代码,如:
mg.Filter = "[日期] > #5/31/1999#" \'指定合并条件

假定这起始日期由用户指定,那么加一行代码:
 Dim Val As Date
 InputValue(Val, "筛选","请输入开始合并的日期:")

我的问题是:随后的筛选条件该如何写?
是这样吗:
mg.Filter = "[日期] > # "& val &" #"

请指点。


--  作者:czy66ds
--  发布时间:2013/9/21 15:34:00
--  
我自己顶
--  作者:有点甜
--  发布时间:2013/9/21 20:18:00
--  
 如下代码

Dim Val As Date
InputValue(Val, "筛选","请输入开始合并的日期:")
Dim mg As New Merger
mg.SourcePath = "c:\\data\\销售管理.xls"
mg.Format = "excel" \'指定格式
mg.SourceTableName = "订单$" \'指定要合并的表
mg.DataTableName = "订单" \'指定接收数据的表
mg.Filter = "[日期] > #"& val & "#"
mg.Merge() \'开始合并"

--  作者:czy66ds
--  发布时间:2013/9/22 11:59:00
--  

谢谢回复、帮助。但是还是不按指定条件筛选。我把项目发上去了,请进一步帮助看看。谢谢了。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.rar


--  作者:Bin
--  发布时间:2013/9/22 12:15:00
--  
经过测试没有任何问题


Dim Val As Date
InputValue(Val, "筛选","请输入开始合并的日期:")
Dim mg As New Merger
mg.SourcePath = "C:\\Users\\foxtable1\\Desktop\\管理项目3\\管理项目3\\示例文件.xls"
mg.Format = "excel" \'指定格式
mg.SourceTableName = "本月入库$" \'指定要合并的表
mg.DataTableName = "本月入库" \'指定接收数据的表
mg.Filter = "[日期] > #"& val & "#"
mg.Merge() \'开始合并"

--  作者:czy66ds
--  发布时间:2013/9/22 15:56:00
--  

经我用BIN提供的代码测试,筛选成功。但是,为什么我用我的项目3中代码就不灵呢?都差不多呀!但仔细一看我发现我的筛选语句有二条:

 

 mg.Filter = "[日期] >= # " & val & " # "

 mg.Filter = "[款号] Is Not Null"

进一步测试,屏蔽了第二条就好使了!

 

那么这是否就意味着不能连续写二条以上mg.Filter = ...语句呢?

 

如果是这样,这两条如何写到一条里呢?

 

请指教。(我一见这个单引号双引号、&、and就晕)


--  作者:Bin
--  发布时间:2013/9/22 15:57:00
--  
晕你不能写两条的,这样会被第二个覆盖掉.如果你要实现这两个条件你应该用 AND 


mg.Filter = "[日期] >= #" & val & "# and [款号] Is Not Null"