【Access】vbaでフォームからレコード追加しよう

 

  アクセス担当のまみです。  

 

フォームに入力したデータをテーブルに登録できたらテーブルを直接さわらないですみますね。

テーブルを直接さわると、元に戻せないので即書き換わってちょっと怖いんです・・・

 

今回はフォームからテーブルへのデータ登録ができるようにしてみましょう!

 

 

 

フォームにボタンを設置

 

  説明のために「宛名印刷」ファイルを使用します。

「宛名印刷」ファイルの作成方法がわからない方のために、「宛名印刷」ファイルの「T_住所録」テーブルの構造を記しておきますね。  

 

フィールド名 データ型
登録NO オートナンバー型
氏名 短いテキスト
しめい 短いテキスト
郵便番号 短いテキスト
住所1 短いテキスト
住所2 短いテキスト
電話 短いテキスト
印刷要否 短いテキスト
備考 短いテキスト

 

それ以降フォームの作成方法は、下記の記事から読んでもらえると「宛名印刷」ファイルが作成できます。年賀状の宛名印刷ができるようになるプログラムです。ぜひ作成してみてくださいね!

 

アクセスVBAでフォームにボタンを配置しよう

2018年9月18日

 

それでは、「宛名印刷」ファイルを開き、「F_データ入力」フォームをデザインビューで開きボタンを2つ設置しましょう。

 

位置はお任せします。

 

ご自身のやりやすい位置にボタンを配置してください。

 

 

①2つのボタンの名前と標題は下記のとおりです。
 
 
クリアボタンのプロパティシート
 
名前 brnクリア
標題 クリア

 

登録ボタンのプロパティシート

名前 brn登録
標題 登録

 

2つのボタンの設定が終わったら、「btn登録」をクリック時の処理方法を設定していきましょう。

 

データ登録のコード

 

 

①「btn登録」ボタンを選択状態にして、プロパティーシートの②「イベント」タブを左クリックします。

③「クリック時」のを左クリックして、「イベントプロシージャ」を選んで、を左クリックします。

 

 

「Private Sub btn登録_Click()」と「End Sub」の間に、「btn登録」ボタンをクリックしたときの処理を入力していきます。

「btu登録」がクリックされたら、デーブルにレコードを追加してくれるようにってことですね。

 

(はてな君)
データ登録ができるようになるんだぁ!

 

 

下記のコードを入力します。

 

    Dim Rst As DAO.Recordset
    Set Rst = CurrentDb.OpenRecordset("T_住所録", dbOpenTable)
    
    With Rst
        .AddNew
        .Fields("しめい") = Me!txしめい
        .Fields("氏名") = Me!tx氏名
        .Fields("郵便番号") = Me!tx郵便番号
        .Fields("住所1") = Me!tx住所1
        .Fields("住所2") = Me!tx住所2
        .Fields("電話") = Me!tx電話番号
        .Fields("印刷要否") = Me!cmb印刷要否
        .Fields("備考") = Me!tx備考
        .Update
    End With
    
    Rst.Close
    Set Rst = Nothing

 

Dim Rst As DAO.Recordset

Dim オブジェクト名 As クラス名

オブジェクト変数を宣言する時にDim~って書くんですが(Rstが変数です)、オブジェクト名とかクラス名とか、なんだかわからないですよね。

要するに、データベースをRstってことにしてくださいねってことです。

 

Set Rst = CurrentDb.OpenRecordset(“T_住所録”, dbOpenTable)

Rstに「T_住所録」テーブルの情報を入れてくださいねって意味になります。

 

With RstからEnd Withの間に書かれていることを、実行してくださいね。

.AddNew・・・新しいレコードを追加

.Update・・・更新

.Fields(“しめい”)・・・「T_住所録」テーブルの「しめい」フィールド

Me!txしめい・・・「F_データ入力」フォームの「txしめい」テキストボックス

 

データの追加が終わったら、Rst.Closeでデータベースを閉じておきます。

使った変数RstはSet Rst = Nothingで解除しておきます。

 

色々データ登録してみてくださいね。

 

(はてな君)
ボタン押したらテーブルにデータが登録されたよ!

 

(あいちゃん)
終了する時は「F_データ入力」の変更を保存してくださいね!

 

 

コードをコピーされたい場合は下記の記事を参考にしてください。

関連記事

 

 

まとめ

 

今回は、フォームからデータを登録するコードについてお伝えしました。

 

 

 

 

スポンサーリンク