我可以找到很多關於如何通過改變代碼中的底層源代碼查詢和重新查詢來返回子表單中的特定記錄的示例,但我正在努力使用相同的原則來改變返回的字段。可能通過VBA更改MS Access子表單字段?
我有以下情況:
Combobox選擇5個字段之一。子窗體應該顯示所選字段加上幾個靜態字段,讓它們稱爲字段6和7
因此,在用戶從下拉列表中選擇字段1的情況下,子窗體應顯示字段1,6和7。他們選擇4場的情況下,子窗體應顯示的字段4,6和7等
這是(除其他事項外)我已經試過:
設置窗體了通過與查詢嚮導(選擇field1,field6,field7)作爲源,在進行組合框選擇後修改所述查詢:
Set qd = CurrentDb.QueryDefs("myqueryname")
qd.SQL = "Select " & mycomboboxselection & ",field6,field7 from mytablename"
Form_mymainformname.mysubformname.Requery
查詢本身更新正常,如果我在更改後運行獨立版,但主表單中的子表單不會更改,並且當我從導航窗口單擊子表單時,它似乎被卡住以查找字段1請我輸入一個參數值
任何人都可以幫助如何實現這個請嗎?
恐怕這ISN」 t工作,如果我選擇我已經與初始源對象設置的字段沒問題,但是如果我選擇任何其他字段,子表單中的字段名保持不變,它只是使用#name填充字段中的所有記錄? –
@HelloWorld這是因爲如果你有控件綁定到一個名爲'mycomboboxselection1'的字段,並且你改變你的查詢爲'mycomboboxselection2',那麼第一個字段不再存在,所以控件不知道要顯示什麼,因此'#Name?您也需要適當地更改控制源。 – Brad
@Brad,這應該可能是一個獨立的答案,如果我有棒的最終結果,那麼每次只需將它更新爲。*一次,就可以更新記錄源,並通過控制源該字段單獨即'Me!MySubForm.Form!MyField.ControlSource = Me!MyComboBoxSelection'。謝謝,效果很好 –