![](/img/trans.png)
[英]MS Access - Creating a module that filter subform by different comboboxes using VBA
[英]MS Access (2010) VBA filter not working on one subform
在過去的幾天里,我一直在努力尋找問題的根源。 我的Internet搜索導致此問題的原因並沒有取得成功。
該程序使用Access作為前端UI,以便用戶將客戶端信息輸入到SQL Server上托管的數據庫中。
交互作用應如下所示:
最初加載主表單時,默認情況下每月產品值過濾器值為0。 選擇其中一種產品時,應動態更新過濾器。 這是在產品表單的Form_Current事件下完成的。
我不知道的是:篩選器似乎卡在默認狀態。 我使用Debug.Print語句檢查了每月產品價值表單的最新過濾器值,它顯示了該過濾器的正確產品ID。 但是它根本沒有在用戶界面上更新。
更奇怪的是:它在我更改了vba代碼(有時與過濾器無關)的某個時候起作用(即列出了每月值),並在處於應用程序模式時保存了它,例如:
.filter = "prod_id = " & iProdID
至
.filter = "[prod_id] = " & iProdID
但是,當我將其更改為“設計”模式並開始進行與此問題無關的更改時,當它再次處於“應用程序”模式時,它停止工作。 行為是如此不可預測,以至於我不確定如何進行。 我什至刪除了表單,然后再次重新創建它,其行為依舊相似。
我使用相同的方法在VBA中處理其他子表單的文件管理器,並且它們的行為正確。 希望得到一些我忽略的反饋!
謝謝! at
我現在開始工作了。 為產品值分配過濾器的原始方法是,將過濾器值直接從“產品”表單( Form_Products
)的Form_Current
事件分配給“產品值”表單( Form_ProductVals
)。 這導致結果不一致。
現在,我更改了代碼,以通過“客戶”主窗體(包含“產品”和“ ProductVals”子窗體)分配過濾器值。 因此代碼從以下更改:
Form_ProductVals.Form.Filter = "prod_id = " & <new ID>
至
Form_Clients.ProductVals.Form.Filter = "prod_id = " & <new ID>
這樣就可以了。 不過,我沒有任何區別的解釋。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.