我有一個MS Access表單來輸入採購訂單。這是一個包含一般訂單詳細信息的主要表單 - 供應商名稱,日期,然後是數據表視圖中的一個子表單,其中用戶放入訂購的實際物料。子表單中的第一個字段是選擇項目的組合框,下一個字段是訂購的數量,然後自動計算價格和總計字段。加載vba後不顯示combox值
我希望組合框僅顯示屬於在主窗體上選擇的供應商的項目。我用下面的代碼
Private Sub CmbSupplier_Change()
Me!sfrmOrderDetail.Form!CmbItem.RowSource = "SELECT Items.ID, Items.Product, " _
& " Items.Supplier" _
& " FROM tblItems" _
& " WHERE ((Items.Supplier)= " _
& Me.CmbSupplier & ");"
End Sub
我把這個也爲Form_Current()
事件 - 這樣做成功,所以應該重做它,當我變成一個新的紀錄。
然而,在投入了幾個訂單後,我回到之前的訂單,使用表格後退按鈕來檢查我輸入的內容,並且我看到,雖然其餘的信息仍然存在,但其中的items
字段(組合框)位於子表格的第一條記錄是空的。任何額外的行都被填充了。當我用光標進入空白區域時,它會刷新並填充值。
就這樣,我很清楚,例如,我的第一個訂單供應商是斯臺普斯。我有三排在我的subfrom - 墨跡,訂書機,紙。留下記錄,並在回來後,會出現以下情況:
- 的墨沒有顯示,但訂書機和紙是還有墨水,價格和總的數量。
- 當我按下該字段時,它突然顯示,我可以看到列出了正確項目的組合框列表,以便代碼可以正常工作。
這是很多文字沒有實際得到的地步。哪裏有問題?表'tblItems'是否不包含所需的數據?該表是否包含數據,但在設置了「RowSource」屬性後,「CmbItem」沒有顯示條目?這是否工作,但事件處理程序不會在預期時調用,所以組合框永遠不會刷新?請隔離錯誤並更新您的問題,以便更具體地瞭解我們在哪裏以及如何提供幫助。 – Leviathan
它應該是在訪問時,最好是有相應的標籤 – user3598756