我在做一個搜索表單。最重要的是,有幾個組合框供用戶選擇一個標準組合。然後我構造一個Where字符串來篩選顯示結果的子表單。表單加載和過濾器問題
Me.sub.SourceObject = "subResultType_1"
Me.sub.Form.Filter = strWhere
Me.sub.Form.FilterOn = True
此代碼位於「搜索」按鈕的單擊事件中。
問題是,當執行Me.sub.SourceObject = "subResultType_1"
時,子窗體將顯示所有記錄。然後它被過濾。但是我想要的是子窗體在被過濾之前什麼都不顯示。這是因爲我的程序將在相當慢的網絡上用作前端/後端。 PS:我認爲當WHERE部分的SQL子句或帶有過濾器的表單過濾時,它會在後端被過濾。所以只有少量的數據會在網絡上傳輸到前端。如果我錯了,告訴我...
我現在所做的最像你的解決方案:我向子表單添加了一個「空白」過濾器:id ='',而不是空白記錄源。 – darkjh 2011-06-20 07:23:55
與我的不同之處在於你的回報沒有行,而我的回報是在不可編輯的空行上。我認爲最好是顯示行,因爲它可以幫助用戶瞭解他們在執行搜索時看到的內容,而空行不會(也不會顯示空子表單控件,這就是爲什麼我不使用它方法)。 – 2011-06-20 18:55:38
另一個問題是,當我這樣做時,設置一個'空白'過濾器或記錄源,下次我使用這個表單時,它會記住上次的過濾器,而不是空白的過濾器......如何防止它記住它? – darkjh 2011-06-21 06:59:19