1

我有一个将“数据输入”属性设置为“是”的表单。它绑定到一张桌子。当我开始填写表格时,它会自动保存它。我不希望这种情况发生。我只想在按下按钮时将表单保存到表格中。有什么简单的方法可以做到这一点?没有 vba。如果我只能用 vba 做到这一点,请告诉我该怎么做。

4

1 回答 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 回答