2013-11-25 76 views
0

我在ms access 2010中有一個連續的表單,該表單由用戶輸入數字的文本框過濾。基礎數據表中的過濾字段是數據類型編號,它也在表格設計視圖中讀取長整數。我假設文本框提供了一個字符串,所以我的文本框更新方法在設置過濾器參數代碼之前將textbox.Value轉換爲數字格式。問題是,我嘗試投射filterval變量的每種方式都會導致不同的錯誤。鑄造filterval爲Long導致錯誤3464數據類型不匹配條件表達式中的行:標準表達式中的錯誤3464數據類型不匹配

.Filter = "[ClientNumber]='" & filterval & "'" 

如何更改我的代碼,使更新後的方法可以過濾沒有錯誤的形式,考慮到ClientNumber場數據表是長整數?這是我目前的txtFilter文本框的更新後的方法代碼:

Dim filterVal As Long 
filterval = CLng(txtFilter.Value) 
With Forms!Main!NavigationSubform.Form!NavigationSubform.Form 
    .Filter = "[ClientNumber]='" & filterval & "'" 
    .FilterOn = True 

回答

2

由於[ClientNumber]是長整型,當你建立了.Filter串不封閉filterval帶引號。

.Filter = "[ClientNumber]=" & filterval 

而實際上,你不應該需要一個filterval變量。嘗試用這種方式代替...

.Filter = "[ClientNumber]=" & Me.txtFilter.Value 
+0

我想測試您的代碼更改並給出反饋,但窗體在窗體視圖中是不可見的,即使它在設計視圖中可見。導航子窗體中其他選項卡選擇的其他表單在單擊其選項卡時可見。只有這個表單在其標籤被點擊時是不可見的。剛剛發生這種情況,並沒有通過關閉所有其他對象或關閉並重新打開訪問權限來更改。你有什麼建議嗎? – CodeMed

+0

不,我難住爲什麼它消失了。 – HansUp

+0

謝謝你回到我身邊。我不是可以將空白數據庫模板上傳到文件共享網站的位置,因此我必須等待以後再繼續操作,除非其他人能夠告訴我如何使其從我可以輸入的信息。再次感謝你。 – CodeMed

相關問題