如何解决根据主键ID
我对访问和vba还是很陌生,因此为弥补概念上的空白提前道歉。
基本上,我有一个按钮,单击该按钮时会提示用户输入ID号。输入的ID将对应于我在特定表中的主键之一(我已经进行了一些检查以确保输入的ID有效)。
我需要我的代码来标识输入的ID的行号,并能够填充该行中的特定列。我知道Access并不使用行/列来引用数据位置,但是是我认为最好的描述方式。
我正在使用Index / Seek / NoMatch来确保输入的ID号有效,并且我一直在尝试找到一种方法来使用这些函数来生成数据位置,但是没有任何运气。任何帮助将不胜感激。
解决方法
我认为DLookup()
函数将适合您的情况。假设您在表tblEmpInfo
中具有以下数据集,其中EmpID
是主键字段。
如果您想通过在输入框中输入员工ID来返回员工姓名,请使用DLookup()
,如下所示-
Private Sub cmdDataLookup_Click()
Dim strEmpName As String,InputID As String
InputID = InputBox("Enter employee ID:","Input ID")
strEmpName = DLookup("EmpName","tblEmpInfo","EmpID= '" & InputID & "'")
MsgBox strEmpName
End Sub
如果要通过输入EmpID来更新任何名称,请使用UPDATE SQL语句。请尝试以下。
Private Sub cmdUpdateInfo_Click()
Dim strSQL As String,InputID As String
InputID = InputBox("Enter employee ID:","Input ID")
strSQL = "UPDATE tblEmpInfo Set EmpName= 'Updated Value' WHERE EmpID= '" & InputID & "'"
CurrentDb.Execute strSQL
End Sub
注意: 没有直接方法可以获取访问中Field
的行号和列号,但是您可以通过{{1 }}以获取VBA
的行号和列号。我建议再问一个问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。