VBA语法错误

时间:2016-06-22 15:05:30

标签: ms-access access-vba

我正在尝试使用未绑定的文本框和按钮来搜索我的ID列(Barcode)并在表单中列出记录。

我遇到的问题是,根据许多例子,它看起来是正确的,但我是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" .....

1 个答案:

答案 0 :(得分:1)

FindFirst一个字符串表达式......

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

但是,我不确定为什么原始代码会触发运行时错误。给FindFirst这个...... (Barcode) = & Me.searchtext ...会触发编译错误。我不明白为什么你没有得到编译错误。确保代码模块的声明部分中有Option Explicit

相关问题