如何将dtpicker.value格式更改为“ mmmm dd,yyyy”?

时间:2019-02-09 10:28:05

标签: excel ms-access access-vba

以下代码在我的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

1 个答案:

答案 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