我正在使用兩種形式。此代碼的表單顯示每週預約的每週摘要:其中包含顯示每天每個團隊的約會次數以及每日和每週總計的文本框。我用一個函數替換了所有文本框的雙擊事件。當雙擊文本框時,將使用另一個表單來顯示在該文本框中計算的記錄。除非用戶已將詳細信息表單打開,並且已通過表單選項選擇過濾器,但尚未應用過濾器,否則這一切都會很好。如何檢查表單視圖是否爲過濾器
我檢查是否詳細信息表單是否打開,如果不是,則我用SQL sting打開它以顯示計數約會的記錄。如果詳細信息表單已經打開,我會檢查是否應用了過濾器,將其刪除,然後過濾以顯示計數約會的記錄。
If CurrentProject.AllForms("MyForm").IsLoaded = False Then
DoCmd.OpenForm "MyForm", , mysql
Else
If Forms("MyForm").FilterOn = True Then Forms("MyForm").FilterOn = False
Forms("MyForm").Filter = myfil
Forms("MyForm").FilterOn = True
End If
如何通過表單視圖/狀態來檢查詳細表單是否在過濾器中?如果是,關閉它。所以我可以應用過濾器來顯示計數約會的記錄。
我只是在這些情況下關閉已經打開的窗體,然後用我的過濾器重新打開窗體。 - 爲避免閃爍,您可以在執行此操作時執行「Application.Echo False」。 –
Andre
我已經考慮過這種方法,但是我的用戶調整了表單的大小並安排他們喜歡,所以我必須記錄表單的位置和大小,然後在相同的位置和大小下重新打開表單。我還考慮捕捉錯誤以觸發關閉並重新打開。我希望能有一個表格屬性,我可以檢查,但我沒有找到它的運氣。 – tonyuk1977
我發現這給我更多的信息,但沒有解決問題,我做了如何使問題更具體的https://msdn.microsoft.com/en-us/library/office/ff191892.aspx。我如何測試這些文件增補程序acFilterByForm,acFilterAdvanced? – tonyuk1977