我在MS表中的TakeDate字段(数据类型:日期)中有日期。我在搜索表单中有一个文本框txtGdateTo,其中Format设置为Short Date
当我像下面这样运行SQL查询时,我不会过滤想要的数据。
Select * from tblWork WHERE TakeDate <= Me.txtGdateTo因此,我尝试了下面的SQL,但它也不起作用。
Select * from tblWork WHERE TakeDate <= Format(Me.txtGdateTo, "\#mm\/dd\/yyyy\#")我将另一个字段添加到带有函数的表TakeDate0中
TakeDate0: FormatDateTime([TakeDate],"\#mm/dd/yyyy\#")
这给了我作为#error的价值。
问:有什么最好的方法来管理这些错误使用日期字段吗? 问:需要做什么格式化,是否需要额外的列?
在我的例子中,用户将以dd/mm/yyyy格式在表中输入数据
发布于 2016-05-26 10:08:48
经过大约2个小时的研究和@Gustav答案中的一些提示,我找到了解决问题的方法。
第一次使用函数
FormatDateTime而不是Format
Select * from tblWork WHERE TakeDate <= #" & FormatDateTime(Me.txtTdateTo, 2) & "#"第二-确保格式正确
txtGdateTo在搜索表单中,Format设置为Short Date
第三-不需要另一列搜索功能。
发布于 2016-05-26 07:50:58
我不能在查询中使用。所以试着:
Select * From tblWork Where TakeDate <= Format(Forms!YourForm!txtGdateTo, "\#mm\/dd\/yyyy\#")在VBA中,必须在连接之前格式化日期的字符串表达式,如下所示:
SQL = "Select * From tblWork Where TakeDate <= #" & Format(Me!txtGdateTo.Value, "yyyy\/mm\/dd") & "#"https://stackoverflow.com/questions/37453892
复制相似问题