我有一个将“数据输入”属性设置为“是”的表单。它绑定到一张桌子。当我开始填写表格时,它会自动保存它。我不希望这种情况发生。我只想在按下按钮时将表单保存到表格中。有什么简单的方法可以做到这一点?没有 vba。如果我只能用 vba 做到这一点,请告诉我该怎么做。
问问题
11566 次
1 回答
1
最好的方法是使用未绑定的表单。当用户单击保存时,您可以运行查询以从控件更新您的表。
使用记录集
Dim rs As Recordset
Set rs=CurrentDB.Openrecordset("MyTable")
rs.AddNew
rs!Field1 = Me.Field1
rs.Update
如果你想更新一条你已经知道主键的记录,你可以说:
Dim rs As Recordset
Set rs=CurrentDB.Openrecordset("SELECT * FROM MyTable WHERE ID=" & Me.txtID)
rs.Edit
rs!Field1 = Me.Field1
rs.Update
使用您在查询设计窗口中创建的查询
查询的 SQL
INSERT INTO MyTable (Field1)
VALUES ( Forms!MyForm!Field1 )
VBA
这将发出警告
DoCmd.OpenQuery "MyQuery"
这不会
CurrentDb.Execute "Query2", dbFailOnError
您还可以使用动态 SQL 或带有您在代码中分配的参数的查询。
于 2012-08-30T21:37:17.427 回答