我对 MS Access 还很陌生。我正在尝试创建一个简单的表单,基本上将使用文本框而不是下拉框搜索特定记录。本质上,用户将能够输入 ID 号并检索一些其他相关信息。但是,我不希望用户能够向数据库添加任何新记录。我已经能够让表单看起来像我想要的那样,但我不确定在哪里放置代码(我是否创建一个宏,将代码插入按钮的属性中?)任何帮助都很大赞赏!
我假设您已将表单绑定到表或查询,并且希望能够在文本框中手动输入 ID,然后按 ENTER 并加载该记录的数据,或者在没有此类记录时显示错误消息。
As dsteele说,确保表单的 Data 属性允许添加被设定为No
禁止用户添加记录。
然后,从AfterUpdate
文本框的事件,添加以下代码(假设您的文本框名为txtGoTo
):
Private Sub txtGoTo_AfterUpdate()
If (txtGoTo & vbNullString) = vbNullString Then Exit Sub
Dim rs As DAO.RecordSet
Set rs = Me.RecordsetClone
rs.FindFirst "[ID]=" & txtGoTo
If rs.NoMatch Then
MsgBox "Sorry, no such record '" & txtGoTo & "' was found.", _
vbOKOnly + vbInformation
Else
Me.RecordSet.Bookmark = rs.Bookmark
End If
rs.Close
txtGoTo = Null
End Sub
请注意,您必须更改线路rs.FindFirst "[ID]=" & txtGoTo
适合您的数据的东西:
"[ID]="
应替换为您要搜索的字段(可以是"[POReference]="
或者是其他东西。
-
如果您通过数字 ID 进行搜索,例如因为该字段是自动编号列,那么该代码就可以了。
否则,如果您正在搜索的字段是一个字符串(例如PN12-G
)那么你必须将代码更改为:
rs.FindFirst "[ID]=""" & txtGoTo & """"
未能使用正确的引用(或不必要的引用)将导致此类错误数据类型不匹配....
作为新用户,我建议您查看示例北风项目数据库可以随旧版本的 Access 一起提供,也可以作为模板从 Access 2007 下载。
作为新的 Access 开发人员,有很多技术可供学习,包括实现记录导航的其他方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)