我正在嘗試創建一個動態函式,該函式基于您在表單上與之互動的下拉串列。當我呼叫它時,我需要將下拉串列的名稱與表單名稱一起傳遞給函式。
這是我當前的設定,它只呼叫傳遞表單名稱的函式:
Private Sub KitchenMainCode_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Call Populate([Form])
End Sub
Populate(frm As Form)
'do stuff
End Function
我有 8 個下拉選單,這意味著我必須復制粘貼 8 批相同的代碼,這并不理想,理想情況下我想要這樣的東西:
Private Sub KitchenMainCode_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Call Populate([Form], [control.name OR "KitchenMainCode"])
End Sub
Populate(frm As Form AND dropdown name as name)
frm.name.value = xyz
End Function
即使至少,如果我可以傳遞一個字串,它比 8 個獨特的函式更容易制作 8 個 Mousedown 事件,這將近 50 行(x8)。
每次我用谷歌搜索它時,它都會帶來很多 Excel 的東西,并且由于某種原因,所使用的代碼與訪問不兼容(可能是我的問題),但它們都是 VBA 腳本。
親切的問候,
uj5u.com熱心網友回復:
你可以這樣做:
Private Sub KitchenMainCode_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Call Populate(Me As Form, Me.ActiveControl As Control, Button As Integer, Shift As Integer, X As Single, Y As Single)
End Sub
Private Sub Populate(frm As Form, ctl As Control, Button As Integer, Shift As Integer, X As Single, Y As Single)
' do stuff
End Function
或者你可以實施WithEvents. 可以在我的專案VBA.ModernTheme中找到一個示例。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/451396.html
標籤:vba 数据库 功能 毫秒访问 ms-access-forms
