nKB

nKB

シンプルにいこうよ

Access VBA

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