我得到很失望試圖讓這個平凡的搜索工作recordset.find。整個代碼將在這裏:使用可變VBA ADODB
Option Compare Database
Option Explicit
'Modul zum Updaten des Status eines Messmittels in der Stammdatenbank (Entnommen/Verfügbar)3
Public Function updateStatus()
Dim rst2 As ADODB.Recordset
Dim rst As ADODB.Recordset
Dim messID As String
Set rst = New ADODB.Recordset 'Stammdaten zur Bearbeitung öffnen
rst.ActiveConnection = CurrentProject.AccessConnection
rst.CursorType = adOpenKeyset
rst.LockType = adLockOptimistic
rst.Open "Stammdaten"
rst.MoveFirst
Set rst2 = New ADODB.Recordset 'zur Bearbeitung öffnen
rst2.ActiveConnection = CurrentProject.AccessConnection
rst2.CursorType = adOpenKeyset
rst2.LockType = adLockOptimistic
rst2.Open "Verwendung"
Do While Not rst.EOF
messID = rst!ID
Debug.Print messID
rst2.Find "ID = '" & messID & "'"
If rst2.EOF = True Then 'Falls nicht vorhanden
Debug.Print "Keine Verwendung gefunden!"
Else
rst2.Sort = "Nr DESC"
rst2.MoveFirst
Debug.Print rst2!Status
End If
rst.MoveNext
Loop
rst.Close
rst2.Close
End Function
我錯過了什麼?我真的試過不同勢搜索字符串:(
你爲什麼不搜索在表內的完整查詢中,ID是來自訪問表的字段? – jsanchezs
我的意思是,像這樣:rst2.source =「Select * from tablename where ID ='」&messID&「'」 – jsanchezs
對不起,我不熟悉訪問和我的訪問版本是在德國,這並沒有幫助.. 。我有一個包含唯一ID的表(「Stammdaten」)。我有另一個包含每個ID(「Verwendung」)的多個entrys的表。我試圖讓一個ID的每個條目一次排序這些條目,然後只寫一個回到另一個表(不在代碼中)希望有一點幫助.... 使用查詢將無法正常工作有多個條目爲每個ID :( –