无法在Access 2013

时间:2017-02-14 17:41:55

标签: ms-access-2013

我有一个名为tblEmployees的表 - ID,First,Last。一个名为frmSearch的未绑定表单,其中包含一个名为Searchbox的文本框和一个按ID搜索的搜索按钮。我还有一个名为frmDisplay的未绑定表单,其中显示了我想要在必要时编辑的搜索结果。此表单的文本框字段是EID,Fname,Lname。

我遇到的问题是当我在搜索框中输入ID#并单击搜索按钮(我在按钮向导中链接两个ID字段)时,它会继续显示我表格中的第二条记录。这是我目前运行的代码

Private Sub Form_Load()

Dim rst As Recordset

Set rst = CurrentDb.OpenRecordset("SELECT * from tblEmployees WHERE ID=ID")

EID.Value = rst!ID
Fname.Value = rst!First
Lname.Value = rst!Last

end sub

当我将代码更改为

("SELECT * tblEmployees WHERE ID=" & ID") 

我在查询表达式ID ="

中遇到语法错误缺少运算符

2 个答案:

答案 0 :(得分:0)

ID必须有一些价值。然后连接ID:

"Select * From tblEmployees Where ID = " & ID & ""

答案 1 :(得分:0)

当前正在打开的记录集将包含表中的所有记录,因为对于每条记录,条件ID = ID将始终为真。它显示了你桌子上的第二张记录,这纯属巧合。您没有在记录集查询中指定排序,因此它可以随机选取任何记录作为结果中的第一个记录。你真正需要的是

Set rst = CurrentDb.OpenRecordset("SELECT * from tblEmployees WHERE ID = " & frmSearch!Searchbox)