我有一個表Table1
在Access 2016(主鍵= Code
)具有以下值返回更多的記錄:爲什麼ADO記錄集比底層訪問查詢
SELECT Table1.Code
FROM Table1
WHERE (((Table1.Name) Not Like "AU *"));
在Access中,查詢返回1分的記錄,符合市場預期:
Code
======
A4
======
但是,當我打開使用ADO 2.8或6.1的查詢,使用此代碼:
Option Compare Database
Option Explicit
Sub test()
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
With rst
.Open "Query1", CurrentProject.Connection, adOpenStatic, adLockReadOnly
Do While Not .EOF
Debug.Print .Fields("Code").Value
.MoveNext
Loop
Debug.Print "Record Count : " & .RecordCount
.Close
End With
End Sub
所有4個返回的記錄,通過調試輸出爲證:
A1
A2
A3
A4
Record Count : 4
爲什麼我收到不同的結果?
變化從*通配符爲% – nazark
@nazark,它的MS Access,SQL不是服務器! –
嘗試用其內容替換查詢的名稱!讓我知道發生什麼事。 –