在型別不匹配上單擊確定后彈出錯誤
我正在使用組合框搜索記錄,它告訴我型別不匹配。我一直無法找到這種不匹配的位置。組合框仍然執行根據“區域”選擇所有記錄的所需功能
我正在使用一個使用組合框選擇的 ID 欄位,但我也想提取一個名稱,因此我輸入了一個未系結的文本框并在 ID 更改時使用 VBA 將名稱更新為未系結文本框中的相應 ID
表格 出于隱私原因,我在其他一些顯示資料的欄位周圍剪掉了。
ID 中 on_change 事件中的 VBA 去
Private Sub txtSupplierID_Change()
Me.txtSupplerName.Value = Table("tblSuppliers").SupplierName
Where Table("tblSuppliers").ID = txtSupplierID
End Sub
我知道這段代碼可能非常錯誤,但我找不到其他任何地方告訴我如何做我想做的事情。任何有關如何實際執行此操作的建議將不勝感激。如果我沒有按需要詳細說明或您有任何問題,請提出。
編輯澄清:該表格未用于保存資料。它僅用于顯示資料和向報告發出輸出。
uj5u.com熱心網友回復:
代碼不僅是錯誤的,而且是無稽之談。不能像那樣參考表物件。而且這種Where用法是無效的。從表中提取值的一種方法是使用 DLookup 域聚合函式。建議使用 AfterUpdate 而不是 Change 事件。
Private Sub txtSupplierID_AfterUpdate()
Me.txtSupplerName.Value = DLookup("SupplierName", "tblSuppliers", "ID = " & txtSupplierID)
End Sub
可能希望將文本框名稱從 txtSupplerName 更正為 txtSupplierName。
但是,不應將供應商 ID 和供應商名稱都保存到此表中。真的不需要這個 VBA。只需將 DLookup() 運算式放在文本框 ControlSource 中。有關將供應商名稱拉到表單的其他方法,請查看MS Access Identical Comboboxes for Autofill中的答案
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/471270.html
上一篇:Countif和Sumif作為Access中SQL選擇查詢的一部分
下一篇:連接2個表并根據多列選擇重復條目
