如何在Access 2016中创建一个运行更新查询的按钮

时间:2017-05-16 21:37:45

标签: sql ms-access ms-access-2016

我有一个带有以下SQL的更新查询

UPDATE UserListTest 
SET UserListTest.UserName = [forms]![EmployeeAdd]![NewFullName], 
UserListTest.AccessCode = [Forms]![EmployeeAdd]![NewCode]
WHERE (((UserListTest.AccountNumber)=[forms]![EmployeeAdd]![NewUserAccount]) 
AND ((UserListTest.UserNumber)=[forms]![EmployeeAdd]![NewUserNumber]));

代码应更新表" UserListTest"并使用表单中的值替换userName和AccessCode中的值,在AccountNumber = NewUserAccount和UserNumber = NewUserNumber的记录中。

我目前在一个设置为运行查询的表单中有一个按钮,但无论何时按下该按钮,它只会使用前面的条目信息提取查询。我能够让它更新表中记录的唯一方法是按下按钮,然后转到查询中的设计视图,然后按左上角的运行按钮。我尝试过点击刷新,但这似乎只是清除了更新查询中的字段。

我希望能够制作一个自动完成所有操作的按钮,而不必每次都去设计视图。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

例如,您可以这样做:

CurrentDb.Execute "UPDATE UserListTest " & _
    "SET UserName = '" & Me.NewFullName & "', AccessCode = '" & Me.NewCode & "' " & _
    "WHERE AccountNumber=" & Me.NewUserAccount & " AND UserNumber=" & Me.NewUserNumber, dbFailOnError

我假设,位于EmployeeAdd表单,UserName和AccessCode列的按钮是text,AccountNumber和UserNumber - Number数据类型。否则添加/删除单引号。

如果保存了查询,则可以运行它:

CurrentDb.Execute "qryMyQueryName", dbFailOnError