2017-03-16 41 views
0

我有一點問題。運行時錯誤3001'參數的類型錯誤或超出可接受的範圍...'Visual Basic 6

我要過濾的數據網格在Visual Basic 6,我使用此代碼

Adodc1.Recordset.Filter = "columnname like '%" + Me.Txtsearch.Text + "%'"

一切都很順利。當我在文本框中輸入「a」時,將出現字母「a」的數據。但是,當這封信是從文本框中取出,會出現這樣的

Runtime error 3001 'Arguments are of the wrong type or out of acceptable range, or are in conflict with one another'

這裏的錯誤是錯誤的截圖:

Error message

任何人都可以向我解釋爲什麼出現這種情況?

+2

由於新用戶加入,每隔幾分鐘,你可能不再對堆棧溢出的最新成員。 –

+0

您是否嘗試添加一個If如果檢查文本框是否包含值? – gizlmo

+0

你是什麼意思「包含一個值」?對不起,我是初學者:) –

回答

4

發生錯誤是因爲您沒有將任何參數傳遞給過濾器。 嘗試把它如下:

if trim(Me.Txtsearch.Text) <> "" then 
    Adodc1.Recordset.Filter = "columnname like '%" + Me.Txtsearch.Text + "%'" 
else 
    Adodc1.Recordset.Filter = "" 
end 
+2

我會添加一個'else'子句來設置Adodc1.Recordset.Filter =「」',因此如果搜索文本框爲空,它會清除篩選器。 –

+1

Yeap,這是個好主意! –

+0

因此,點擊[編輯]按鈕,並改善您的答案... –

相關問題