我在表單中創建了兩個從屬組合框。如果您在第一個框中選擇Category
,它將過濾第二個中可用的Products
列表。我已將類別產品選擇保存到名爲Test
的表格中,其中類別每個都有一行。Access 2013中的重新組合框
如果您在測試中選擇了一個類別,我想要在產品組合框中顯示該產品。例如,如果您在表單中選擇了Category = Condiments和Product = Ketchup,則會將其添加到Test中。然後,下次在表單中選擇Category = Condiments時,Products組合框(您鍵入的框,而不是下拉列表)將立即顯示Ketchup。如果我在測試中有一行,這似乎工作。如果我添加更多行,則ProductComboBox不會更改。
下面是我的表單構建方式。
在行來源爲CategoryComboBox,我選擇一切
Select * From CategoryTable
在行來源爲ProductComboBox,我基於所選
Select * From ProductTable Where ProductTable.CategoryID=[forms]![FormTest]![Category]
類別過濾器產品的形式源產品left接合到類別在CategoryID上。
在爲CategoryComboBox開Change事件和形式在目前的情況下,我再次查詢ProductComboBox
ProductComboBox.Requery
然而,使用ProductComboBox.Requery只有再次查詢在下拉菜單中可用的選項。在選擇類別之後但在選擇產品之前,它不會更改當前的組合框值。如何從鏈接到ControlSource的表中重新查詢數據?有沒有比Requery
更好的VBA功能,還是我需要在宏中使用SQL?
請注意,我仍然需要使用下拉框輸入數據的功能。 – jjjjjjjjjjj