我有一个将'data entry'属性设置为yes的表单。它绑定到一个表。当我开始填写表格时,它会自动保存。我不希望这种情况发生。当我按下按钮时,我只希望表单保存到表格中。有什么简单的方法吗?没有vba。如果我只能用vba做到这一点让我知道如何做到这一点。
答案 0 :(得分: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或带有您在代码中指定的参数的查询。