2016-07-27 77 views
1

我從名爲cboOpeningType的組合框過濾名爲sfrWorklistFilter的窗體。記錄源來自表單上的嵌入式查詢。如果我讓從組合框中選擇過濾器工作正常,用下面的代碼:訪問查詢參數過濾表單

Forms![sfrWorklistFilter]![cboOpeningType] 

但是我需要返回的所有記錄時,沒有選擇在作出這種情況下,我使用下面的代碼:

Like Forms![sfrWorklistFilter]![cboOpeningType] & "*" 

該篩選器然後不提供完全匹配,但所有以組合框上的字母開頭的記錄。

我需要記錄的完全匹配或者沒有選擇所有記錄。

有什麼建議嗎?

+0

困惑?當沒有選擇時,爲什麼組合框會選擇一個字母? – dbmitch

+0

我想我現在看到你的意思 - 你試圖設置一個固定的Filter屬性 - 不是在cboOpeningType AfterUpdate事件的VBA代碼中,正確的? – dbmitch

+0

@dbmitch你是對的我沒有在VBA中設置過濾器屬性。我試圖使用組合框值在表單的嵌入式查詢中設置SQL。我有三個組合框,並試圖根據它們的值篩選三個字段。如果我不輸入值,我想返回該字段的所有記錄。組合框的行源將單個字母選擇作爲其中一個值。當選擇該字母時,所有以該字母開頭的記錄。當組合框中什麼都沒有,我根本沒有結果。 –

回答

1

編輯刪除雙引號

這應該工作 - 你可以做同樣的事情,與其他領域/組合框搜索

Like IIf([Forms]![sfrWorklistFilter]![cboOpeningType]<>"",[Forms]![sfrWorklistFilter]![cboOpeningType],"*")