出於測試目的,我想從一個MS Access表中的一些數據得到使用VBA和SQL Excel中的記錄(方向:EXCEL + VBA訪問)。SQL查詢從通過VBA Excel來訪問(特定日期)
MS Access表名爲T_Zeiten
,一列爲zeiDat
,其中包含日期(歐式風格,如09.11.2016)。
我想要做的是打開連接,查找兩個特定日期之間的所有條目,並將它們寫入記錄集。我已經設法打開連接,但與日期的東西(美式日期)鬥爭。 Excel中的「From」和「To」日期也被格式化爲「dd.mm.yyyy」。
這是我到目前爲止有:
Dim cn As Object
Dim ZeitenArbeitenGrob As Recordset
Dim strSqlZeitenArbeitenGrob As String
Dim start As String
Dim ende As String
start = Application.WorksheetFunction.Text(Cells(3, 2), "dd/mm/yyyy")
ende = Application.WorksheetFunction.Text(Cells(4, 2), "dd/mm/yyyy")
Dim strConnection As String
celllocation = 6
Set cn = CreateObject("ADODB.Connection")
strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Users\mj\Downloads\Neuer Ordner (2)\ZeitErfKonst.mdb"
strSqlZeitenArbeitenGrob = "SELECT COUNT(zeiDat) FROM T_Zeiten WHERE [zeiDat] BETWEEN #" & start & "# And #" & ende & "#"
cn.Open strConnection
Set ZeitenArbeitenGrob = cn.Execute(strSqlZeitenArbeitenGrob)
MsgBox ZeitenArbeitenGrob.Fields(0)
有15項,但在MessageBox顯示我213,我不知道爲什麼。
哪些數據類型具有zeiDat場? – matellan
日期/時間(使用德語版猜測它就是這樣稱呼的) – Moritz