「データ入力」プロパティが「はい」に設定されているフォームがあります。テーブルにバインドされています。フォームへの入力を開始すると、自動的に保存されます。私はこれが起こることを望んでいません。ボタンを押したときにフォームをテーブルに保存するだけです。これを行う簡単な方法はありますか?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 に答える