我试图从组合框中获取值(在这种情况下,'cboFullName'位于'frmMasterNotebook'')并将其交叉引用到表'tblSearchEngine01',以便更新所有列'query05contactselect'记录“联系”列中的值与组合框选择的值匹配('cboFullName')。下面是我的代码,但我收到语法错误消息。
Private Sub cboFullName_AfterUpdate()
st_sql = "UPDATE tblSearchEngine01, SET tblSearchEngine01.Query05ContactSelect = '1' WHERE (((tblSearchEngine01.[contact])=([forms]![frmmasternotebook]![cbofullname]))))"
Application.DoCmd.RunSQL (st_sql)
答案 0 :(得分:1)
您的代码构建了一个UPDATE
语句,其中包含表名后的逗号...
UPDATE tblSearchEngine01, SET
^
删除该逗号,看看Access是否抱怨其他任何内容。
但是我建议您首先在Access的查询设计器中创建和测试新查询。将此语句粘贴到新查询的SQL视图中......
UPDATE tblSearchEngine01
SET Query05ContactSelect = '1'
WHERE [contact] = [forms]![frmmasternotebook]![cbofullname];
在修改并测试语句以便Access无怨无悔地执行它之后,您可以修改VBA代码以生成在查询设计器中工作的完全相同的语句文本。
答案 1 :(得分:1)
使用DAO这是解决我的问题的另一种方法:
Private Sub cboFullName_AfterUpdate()
Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset("tblSearchEngine06", dbOpenTable)
rst.AddNew
rst!Contact = Me.cboFullName.Text
rst!ContactID = Me.cboFullName
rst.Update
rst.Close
Set rst = Nothing