以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 导出数据时怎么书写Filter属性的日期表达式?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=143411)

--  作者:tkxffb
--  发布时间:2019/11/23 21:19:00
--  [求助] 导出数据时怎么书写Filter属性的日期表达式?
做了一个名为上报更新数据的窗口,用于导出数据,窗口截图如下:


图片点击可在新窗口打开查看此主题相关图片如下:360截图201911232111290.jpg
图片点击可在新窗口打开查看


窗口导出按钮的代码如下,但Filter属性的日期表达式报错

Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
dlg.Filter= "Access文件|*.mdb" \'设置筛选器
dlg.FileName = Format( "(单位名称)"& Date.Today &"上报数据")
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
FileSys.CopyFile(ProjectPath & "database.mdb",dlg.FileName, True)
    Dim ex As New Exporter
    ex.SourceTableName = "A表" \'指定导出表
    ex.Filter = DataTables("A表").DataCols("录入日期") >=  # " & Forms("上报更新数据").Controls("DateTimePicker1").Value & " #  AndAlso DataTables("A表").DataCols("录入日期") <= # "& Forms("上报更新数据").Controls("DateTimePicker1").Value & " #
    ex.filepath = dlg.FileName  \'指定目标文件
    ex.Export() \'开始导出

请教各位老师,怎么书写日期表达式?
[此贴子已经被作者于2019/11/23 21:43:07编辑过]

--  作者:有点蓝
--  发布时间:2019/11/24 21:23:00
--  
先看几遍:http://www.foxtable.com/webhelp/topics/1284.htm

ex.Filter = "录入日期 >=  #" & Forms("上报更新数据").Controls("DateTimePicker1").Value & "#  And 录入日期 <= #"& Forms("上报更新数据").Controls("DateTimePicker1").Value & "#"

--  作者:tkxffb
--  发布时间:2019/11/24 22:06:00
--  
谢谢有点蓝老师这么晚给予解答
--  作者:tkxffb
--  发布时间:2019/11/25 13:25:00
--  
上面的代码不起作用,虽然不报错了,但Filter之后导出的数据仍然是所有数据

我把录入日期列的列名加上方括号(一楼日期输入框控件名称写错,测试时也修正了)也不行,修改后的代码如下:

ex.Filter = "[录入日期] >=  #" & Forms("上报更新数据").Controls("DateTimePicker1").Value & "#  And [录入日期] <= #"& Forms("上报更新数据").Controls("DateTimePicker2").Value & "#"

请老师和各位狐友再指点一下,谢谢

--  作者:有点蓝
--  发布时间:2019/11/25 14:04:00
--  
重新贴出完整代码,或者上传实例说明
--  作者:tkxffb
--  发布时间:2019/11/25 14:18:00
--  
完整代码如下:
Dim dlg As New SaveFileDialog     \'定义一个新的SaveFileDialog
dlg.Filter= "Access文件|*.mdb"     \'设置筛选器
dlg.FileName = Format( "(单位名称)"& Date.Today &"上报数据")
If dlg.ShowDialog = DialogResult.Ok Then     \'如果用户单击了确定按钮
FileSys.CopyFile(ProjectPath & "database.mdb",dlg.FileName, True)
    Dim ex As New Exporter
    ex.SourceTableName = "A表"    \'指定导出表
    ex.Filter = "[录入日期] >=  #" & Forms("上报更新数据").Controls("DateTimePicker1").Value & "#  And [录入日期] <= #"& Forms("上报更新数据").Controls("DateTimePicker2").Value & "#"
    ex.filepath = dlg.FileName     \'指定目标文件
    ex.Export()      \'开始导出

说明一下,窗口在项目中的名称是“上报更新数据”,一楼截图上的“导出更新数据”是显示的名称
[此贴子已经被作者于2019/11/25 14:21:09编辑过]

--  作者:有点蓝
--  发布时间:2019/11/25 14:37:00
--  
代码没有问题,改一下日期条件测试