【发布时间】:2015-07-19 00:00:39
【问题描述】:
我目前正在使用下面的脚本从另一个 Excel 工作簿中检索数据。我以正确的格式检索正确的日期。当我正在查询的工作簿是“OPEN”时,会出现问题,检索到的数据“DATE”返回一个数字“49802”(类似的东西)但是一旦我关闭我正在查询的工作簿,返回的“DATE”变得正常格式。
Sub Pull_Data_from_Excel_with_ADODB()
Dim cnStr As String
Dim rs As ADODB.Recordset
Dim query As String
Dim var1
Dim var2
var1 = Now() - 1
var2 = Now()
Dim fileName As String
fileName = "C:\Signin-Database\DATABASE\Signin-Database.xlsm"
cnStr = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & fileName & ";" & _
"Extended Properties=Excel 12.0"
query = "SELECT * FROM [Sheet1$D:H] WHERE [Time_in] < '" & var2 & "' AND [Time_in] > '" & var1 & "' AND [Time_out] is null"
Set rs = New ADODB.Recordset
rs.Open query, cnStr, adOpenUnspecified, adLockUnspecified
Cells.Clear
Range("A2").CopyFromRecordset rs
Dim Cell As Range, i As Long
With Range("A1").CurrentRegion
For i = 0 To rs.Fields.Count - 1
.Cells(1, i + 1).Value = rs.Fields(i).Name
Next i
.EntireColumn.AutoFit
End With
【问题讨论】: