VBAで正規表現や関数を使った入力チェックを行い、Accessに新規レコードを追加、保存するには:Access VBAで学ぶ初心者のためのデータベース/SQL超入門(4)(3/5 ページ)
Accessを通じて、初心者がリレーショナルデータベースやSQLの基本を学び、データベースを使った簡単なシステムの作り方を習得する本連載。今回は、VBEの起動とデータ入力用フォームの作成、VBAを使った入力用コードやデータの検証処理を記述する方法を解説する。
VBAで基本のコードを記述する
入力したデータを登録するプログラムコード
まず、入力したデータを登録するプログラムコードを記述する。記述場所は図4右側の下記の記述箇所、記述するコードは、リスト1の「入力したデータを登録するコード」だ。
Private Sub 登録ボタン_Click()
End Sub
Private Sub 登録ボタン_Click() Dim myRecordset As Recordset ≪1≫ Set myRecordset = CurrentDb.OpenRecordset("select * from 顧客管理テーブル") ≪2≫ myRecordset.AddNew ≪3≫ myRecordset("氏名") = 氏名テキストボックス ≪4≫ myRecordset("性別") = 性別コンボボックス ≪5≫ myRecordset("年齢") = 年齢テキストボックス ≪6≫ myRecordset("郵便番号") = 郵便番号テキストボックス ≪7≫ myRecordset("住所") = 住所テキストボックス ≪8≫ myRecordset("電話番号") = 電話テキストボックス ≪9≫ myRecordset.Update ≪10≫ Me.Recalc ≪11≫ myRecordset.Close ≪12≫ Set myRecordset = Nothing ≪12≫ End Sub
コード解説
コードの意味を解説しよう。
まず、Recordsetを扱うオブジェクト変数「myRecordset」を宣言する(1)。
現在開いているデータベースを「OpenRecordsetメソッド」で開く。OpenRecordsetの引数には「SQL」文を指定する。ここでは、下記のように記述して、「顧客管理テーブル」から全てのレコードを選択するよう指定する(2)。
select * from 顧客管理テーブル
次に「AddNewメソッド」で新しいレコードを挿入する(3)。
「氏名」のフィールドに「氏名テキストボックス」の値を(4)、「性別」のフィールドには「性別コンボボックス」から選択した値を(5)、「年齢」のフィールドには「年齢テキストボックス」の値を(6)、「郵便番号」のフィールドには、「郵便番号テキストボックス」の値を(7)、「住所」のフィールドには「住所テキストボックス」の値を(8)、「電話番号」のフィールドには「電話テキストボックス」の値を(9)指定する。
その後「Updateメソッド」で、レコードをテーブルに保存する(10)。
「Me.Recalcメソッド」で、フォームの全てのコントロールを更新する(11)。この記述がないと、「顧客管理テーブル」にはデータが追加されるが、「リストボックス」には反映されないので注意してほしい。「Me」というのは「自分自身」ということで、「今開いている、このフォーム」を指す。「Me」は省略もできる。
最後に、レコードを閉じて全ての関連付けから解放する(12)。
このフォームを実行するには、「VBE」メニューの一番左にある「Access」のアイコンをクリックし、「データ入力フォーム」のデザイン画面を表示する。そして、左の「ナビゲーションウインドウ」内で「フォーム」を表示し(図5参照)、「フォーム」をクリックして、表示されるフォームの項目名から「データ入力フォーム」をダブルクリックする。そして、フォーム上からデータを入力し、「登録」ボタンをクリックする。
すると、図7のように「リストボックス」にデータが追加され、「顧客管理テーブル」にもデータが追加される。
参考記事、リンク
「OpenRecordsetメソッド」について
Accessでフォームからデータを追加し、Excelのシートにエクスポートする
「SQL」について
連載第3回「Accessを使うなら最低限知っておきたいSQL文を使ったさまざまな種類のクエリ操作の基本」
Access SQL を使用してレコードを取得する方法
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- どんなビジネスにも欠かせないリレーショナルデータベースの基礎知識と作り方――テーブル、レコード、フィールド、主キーとは
Accessを通じて、初心者がリレーショナルデータベースやSQLの基本を学び、データベースを使った簡単なシステムの作り方を習得する本連載。初回はデータベースの基本を理解し、Accessを使い始めてみよう - Access VBAでデータ入力フォームを作り、各コントロールを追加するためのデザインビューの使い方
今回は、テーブルを基にデータ入力フォームを作成し、ラベル、テキストボックス、コンボボックス、ボタンリストボックスを追加する手順を解説する - SQLとはどういう言語か
- Accessを使うなら最低限知っておきたいSQL文を使ったさまざまな種類のクエリ操作の基本
今回は、テーブルに「SELECT文」や「BETWEEN演算子」などのSQLを入力し、データベースに蓄積したレコードを抽出する方法を解説する - 初心者でも図解で分かる! VBEの基本的な使い方とVBAプログラムの基礎文法
- Accessでフォームからデータを追加し、Excelのシートにエクスポートする
- SQLとはどういう言語か
- 数値判定、乱数発生、数値の丸めなど、数値に関する4つの関数の使い方
- 制御文で道案内
- 使うほどに良さが分かる正規表現
- .NET Frameworkがサポートする正規表現クラスを徹底活用する(前編)
- .NET Frameworkがサポートする正規表現クラスを徹底活用する(後編)