我想要做的是搜索Customer ID的Customer表「CUSLST」,並將此搜索與另一個表進行比較以查看是否存在是任何命中。如果沒有命中,那麼我想那個客戶ID添加到其他表「tblContact」我是搜索的命中如何搜索一個表中的字段值,並查看該值是否在VBA中的另一個表中
Private Sub Command3_Click()
Dim rcd As Recordset
Dim rcd_Cust As Recordset
Dim strCriteria As String
Set db = CurrentDb
Set rcd = db.OpenRecordset("tblContact")
Set rcd_Cust = db.OpenRecordset("CUSLST")
rcd_Cust.MoveFirst
With rcd_Cust
Do Until rcd_Cust.EOF
strCriteria = rcd![Customer Number]
If (DoCmd.FindRecord(strCriterial, , True, , True)) = Null Then
rcd.AddNew
rcd![Customer Number] = rcd_Cust![Account Code]
rcd.Update
rcd_Cust.MoveNext
End If
rcd_Cust.MoveNext
Loop
End With
MsgBox "I'm Done"
End Sub
目前我得到一個錯誤說:「編譯錯誤:預期函數或變量「 對於VBA,我很新,所以很抱歉,如果這是一個愚蠢的問題。
老實說,我甚至不確定我的邏輯是否正確。
任何幫助將不勝感激。
感謝
你有沒有看過通過SQL來處理這個問題,使用更新語句和從連接派生的值? '從tbl_contact中選擇customer_number,在tbl_Contact.Customer_number = custlist。[賬戶代碼]'左邊加入CUSTLIST'類似的東西,未經過測試。 –
我已經想過了,但老實說,這種方式會更容易。我會研究一下,謝謝 – Pokeastuff
你可以在查詢設計器中做到這一點,打開兩個表格,只需將你正在查看的字段拖動到你正在檢查的另一個表格上,然後與標準一起玩,例如爲空將顯示缺少的。正確的做法是使用'EXISTS',這對你來說是一件好事。總是想想,對於100萬客戶來說會是什麼樣子,想想這將如何工作,你正在編寫SQL編碼的代碼。 –