2016-06-22 86 views
1

我正在嘗試使用未綁定的文本框和按鈕來搜索我的ID列(Barcode)並在窗體中列出記錄。VBA語法錯誤

我遇到的問題是,根據許多例子,它看起來是正確的,但我是VBA新手。

Private Sub searchbutton_Click() 

Dim db As DAO.Database 
Dim rst As DAO.Recordset 

DoCmd.OpenForm "Update" 

Set rst = Forms!Update.Recordset.Clone 

rst.FindFirst (Barcode) = & Me.searchtext 
Forms!Update.Bookmark = rst.Bookmark 

DoCmd.Close acForm, Me.Name 

End Sub 

的問題是與線rst.FindFirst (Barcode) = & Me.searchtext並拋出一個語法錯誤,但沒有細節。

我也試着:

rst.FindFirst [Barcode] = Me.searchtext 
rst.FindFirst "[Barcode] = " Me.searchtext 
rst.FindFirst (Barcode) = " Me.searchtext 

[Barcode]線拋出:

運行時條件表達式錯誤 '3464' 數據類型不匹配。

條碼場ShortText,因爲它需要支持我的條形碼其爲 「000001」 .....

+0

同樣的問題,條形碼是短文,因爲我需要保持在條形碼的開始000's,對不起,我忘了補充說 –

+0

這並沒有,仍然是一個語法錯誤 –

+0

我省去了一個需要的&&字符。應該是這樣的:'rst.FindFirst'[Barcode] ='「&Me.searchtext&」'「' – HansUp

回答

1

FindFirst字符串表達式...

'rst.FindFirst (Barcode) = & Me.searchtext 
rst.FindFirst "[Barcode] = '" & Me.searchtext & "'" 

然而,我不知道爲什麼原始代碼觸發了運行時錯誤。給... FindFirst這... (Barcode) = & Me.searchtext ...應該會觸發編譯錯誤。我不明白你爲什麼沒有收到編譯錯誤。確保在代碼模塊的聲明部分中有Option Explicit

+0

謝謝你,完美的工作。 –