我对 Access 很陌生,并且一直试图更新 tblItems 表中的记录,就好像描述中存在拼写错误一样。
我使用的表单允许用户在文本框(tbItemID)中输入存储在表中的项目编号。
然后,用户单击“查找”按钮,并在 tblItems 表中选择正确的记录。然后,我的代码添加了相关标签和文本框,但检索到的唯一数据是表中第一条记录的数据。
我已经尝试过该网站和 Youtube 的许多产品,但似乎都不起作用。
下面是我尝试过的代码。
私有子 btnFind_Click()
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("tblItems", dbOpenDynaset)
rs.FindFirst "Item_ID=" & tbItemID
rs.Edit
tbItemID.Enabled = False
lblDesc.Visible = True
tbDesc.Visible = True
tbDesc.Value = rs!Description
lblUOM.Visible = True
cbUOM.Visible = True
cbUOM.Value = rs!UOM
cbUOM.Enabled = False
lblCost.Visible = True
tbCost.Visible = True
tbCost.Value = rs!Cost
rs.Update
rs.Close
Set rs = Nothing
结束子
感谢您的帮助
我从互联网上尝试了许多不同的宏。 我的期望是,项目表中的记录被输入到表单上的字段中,用户修改所需的内容,并通过保存按钮将新信息更新到表中。
代码不是“添加”文本框,它只是设置现有控件的属性。
检索所有记录,但 FindFirst 不起作用,因为 Item_ID 是文本字段,而文本字段需要在参数周围使用撇号分隔符:
rs.FindFirst "Item_ID='" & tbItemID & "'"
仅检索感兴趣的一条记录并消除 FindFirst 会更有效。
Set rs = CurrentDb.OpenRecordset("SELECT * FROM tblItems WHERE Item_ID='" & tblItemID & "'", dbOpenDynaset)
If Not rs.EOF Then
...
End If