问题描述
我目前有一个包含三个字段的表格。
ID2:号码(也是我的主键), 字段 1:短文本, Field2:短文本
我正在尝试创建一个显示所有三个字段的表单,当我在 ID2 中输入一个值时,会显示匹配的记录。但是,如果没有匹配项,我希望它使用新值创建一个新记录。
我正在解决这个问题: MS Access search for record by textbox instead of dropdown
但是,我似乎无法复制结果。 我当前的代码是:
Private Sub ID2_AfterUpdate()
Dim rs As DAO.Recordset
Set rs = Me.RecordsetClone
rs.FindFirst "[ID2]=" & ID2
If rs.NoMatch Then
MsgBox "Sorry,no such record '" & ID2 & "' was found.",_
vbOKOnly + vbinformation
Else
Me.Recordset.Bookmark = rs.Bookmark
End If
rs.Close
End Sub
我使用了“创建”选项卡中的自动创建表单按钮,并将上述代码添加到带有“构建事件,代码生成器”的 ID2 文本框。我知道我没有正确使用 rs.FindFirst 函数。 我想问:
感谢您的任何帮助,我是新来的访问者,任何帮助将不胜感激。
解决方法
用于输入搜索条件的控件应该是未绑定的。
考虑:
...
rs.FindFirst "[ID2]=" & Me.ID2
If rs.NoMatch Then
MsgBox "Sorry,no such record '" & Me.ID2 & "' was found.",_
vbOKOnly + vbInformation
DoCmd.GoToRecord,acNewRec
Me.ID2 = Null
Else
...