以下代码在我的MS Access表中查找数据并将其导出到MS Excel。
尽管MS Access中的数据类型设置为短文本,但Date_today
字段包含格式为"mmmm dd, yyyy"
的日期。
我的问题是此代码在我的数据库中寻找"mm/dd/yyyy"
,我需要帮助对其进行更改,以便它将寻找"mmmm dd, yyyy"
。
谢谢!
Dim SSql As String
Dim DateFrom As String
Dim DateTo As String
DateFrom = Format(DTPicker1.Value, "\#mm\/dd\/yyyy\#")
DateTo = Format(DTPicker2.Value, "\#mm\/dd\/yyyy\#")
SSql = "SELECT * INTO [Sheet1] In
'C:\Users\MORALES.JANNELYN\Documents\Text1.xls' 'EXCEL 8.0;' FROM
Jannelyn_Morales "
SSql = SSql & " Where Date_today Between " & DateFrom & " And " & DateTo &
""
con1.Execute SSql
答案 0 :(得分:1)
由于MS Access中的日期数据存储为文本字段,而不是日期/时间字段,因此您将无法直接在选择标准内将文本数据与日期进行比较-您首先需要进行转换将文本数据转换为日期值。
这可以使用DateValue
函数来实现,例如:
?Format(Date, "mmmm dd, yyyy")
February 09, 2019
?DateValue("February 09, 2019")
09/02/2019
因此您的SQL应该变成:
" Where DateValue(Date_today) Between " & DateFrom & " And " & DateTo