VBAのメモ
- テーブルからSQLでレコードセットを取得する
- テーブルにレコードを追加する
- ボタンにVBAを割り当てる
- サブフォームを更新する
- フォームの非連結のテキストボックスに入力した値をテーブルに反映させる
- テキストボックスの値を初期化する
- 直前の動作を取り消す
- フォームの指定方法
- 保存ボタン、キャンセルボタン、終了ボタン、更新前確認
Recordsetオブジェクトとは、RDBから指定の条件で抽出したレコードの集合体を表すオブジェクト
テーブルからSQLでレコードセットを取得する
Dim rs As DAO.Recordset sql = "SELECT * FROM T_table WHERE ***" Set rs = CurrentDB.OpenRecordset(sql) Do Until rs.EOF rs.MoveNext Loop
テーブルにレコードを追加する
Set rs = CurrentDB.OpenRecordset(”T_table”) rs.AddNew rs.["Field"] = "Data" rs.Update
ボタンにVBAを割り当てる
デザインビューでボタンを右クリック→イベントのビルド
サブフォームを更新する
Forms("<フォーム名>").Controls("<サブフォーム名>").Form.Requery
フォームの非連結のテキストボックスに入力した値をテーブルに反映させる
Private Sub テーブル更新() Dim Rst As DAO.Recordset Set Rst = CurrentDb.OpenRecordset("<テーブル名>", dbOpenTable) With Rst .AddNew .Fields("<フィールド名>") = Me!<テキストボックス名> .Fields("<フィールド名>") = Me!<テキストボックス名> .Fields("<フィールド名>") = Me!<テキストボックス名> .Fields("<フィールド名>") = Me!<テキストボックス名> .Fields("<フィールド名>") = Me!<テキストボックス名> .Update End With Rst.Close Set Rst = Nothing End Sub
テキストボックスの値を初期化する
'初期化 <テキストボックス名>.Value = Null
直前の動作を取り消す
DoCmd.RunCommand acCmdUndo
フォームの指定方法
Forms!フォーム名
保存ボタン、キャンセルボタン、終了ボタン、更新前確認
EOF