我是MS Access的新手.我正在尝试创建一个简单的表单,它基本上使用文本框而不是下拉框搜索特定记录.基本上,用户可以输入ID号并检索一些其他相关信息.但是,我不希望用户能够将任何新记录添加到数据库中.我已经能够让表单看起来像我想要的那样,但是我不知道在哪里放置代码(我是否创建了一个宏,将代码插入按钮的属性中?)任何帮助都很大不胜感激!
我假设您已将表单绑定到表或查询,并且您希望能够在文本框中手动输入ID,然后按Enter并加载该记录的数据或显示错误消息(如果没有此类记录).
正如dsteele所说,请确保将表单的"数据属性允许添加"设置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
Run Code Online (Sandbox Code Playgroud)
请注意,您必须将该行更改rs.FindFirst "[ID]=" & txtGoTo
为适合您的数据的内容:
"[ID]="
应该被您要搜索的字段替换(它可能是"[POReference]="
或其他东西.
如果您使用数字ID进行搜索,例如因为该字段是自动编号列,那么代码就可以了.
否则,如果您搜索的字段是字符串(例如PN12-G
),则必须将代码更改为:
rs.FindFirst "[ID]=""" & txtGoTo & """"
Run Code Online (Sandbox Code Playgroud)未按规定使用适当的引用(或引用其中没有必要)将导致一种错误的数据类型不匹配.......
作为一个新用户,我建议您查看示例NorthWind项目数据库,该数据库可以使用旧版本的Access进行备份,也可以作为从Access 2007下载的模板.
有很多技术可以作为新的东西学习访问开发人员,包括实现记录导航的其他方法.
归档时间: |
|
查看次数: |
71688 次 |
最近记录: |