最後に「テーブルの削除」機能を実装しよう。
テーブル作成フォームの「デザインビュー」に切り替えて、以下のようなテーブル作成フォームを追加する(図8)。
これまでと同様に「テキストボックス」と「ボタン」コントロールを1セット配置し、書式を設定していこう。
テキストボックスのラベルの標題は「削除するテーブル」、テキストボックス本体の名前は「削除テーブルテキストボックス」、同じくボタンの名前は「実行ボタン」と指定する。その他、フォント名、フォントサイズ、フォント太さなどの書式は、各自これまでと同様に設定してほしい。
テーブル削除フォームで配置するコントロールは以下の通りだ。
| コントロールの種類 | 名前 |
|---|---|
| テキストボックス | 削除テーブルテキストボックス |
| ボタン | 実行ボタン |
コードの記述方法の手順もこれまでと同じだ。
「作成実行ボタン」を選択した状態で、プロパティシート→「イベント」タブをクリックする。「▼」アイコンで[イベントプロシージャ]を選択し、「…」アイコンをクリック。VBAで生成されたコードを、リスト3のコードに書き換える。
Private Sub 実行ボタン_Click()
Dim db As DAO.Database
Dim myTable As DAO.TableDef
Dim tableName As String
If IsNull(削除テーブルテキストボックス.Value) Then
MsgBox ("テーブル名を入力してください。")
Exit Sub
End If
On Error GoTo エラー
Set db = CurrentDb
tableName = 削除テーブルテキストボックス.Value
db.TableDefs.Delete Name:=tableName
db.Close
Set db = Nothing
MsgBox (削除テーブルテキストボックス.Value & "を削除しました。")
Exit Sub(A)
エラー:
MsgBox ("エラーです")
Exit Sub
End Sub
リスト3のコードは、前述したエラー処理付きで記述してある(10行目、20〜22行目)。
このエラー処理は、指定したテーブルが開いている場合には、「エラー:ラベル」内を実行し、「エラーです。」と表示して処理を抜けるものだ。前述したリスト1、リスト2にもこのエラー処理を追加する応用も試してほしい。なお、「エラー:ラベル」の前に(A)のように(19行目)、Exit Subで処理を抜けるようにしておかないと、テーブルが正常に削除された後でも「エラーです」のメッセージが表示されるので、ここの部分は注意してほしい。
この他は、以下のように記述してある。
フォームビューに移って、追加した機能を確認しよう。
削除するテーブル欄に「商品管理」と入力して、「実行」ボタンを押すと、削除した旨のメッセージが表示され、商品管理テーブルが削除される(図9)。
以上、「DAO」を使い、VBAでデータベースの「テーブル作成」と「フィールドの作成/追加」「テーブル削除」の機能を追加し、その処理の流れを解説した。
今回は「Accessのメニューを使わずに」がポイントだ。VBAでテーブルや定義のフォームを作成し、入力するだけで「テーブル」や「フィールド」が作成できるようにしておけば、自分以外の、Accessの操作に慣れていない人でも、簡単にデータベースに触れられるようになる。ぜひ実践でも取り入れてほしい。
次回は、「レコード処理」について解説する。お楽しみに。
薬師寺国安事務所代表。Visual Basicプログラミングと、マイクロソフト系の技術をテーマとした、書籍や記事の執筆を行う。
1950年生まれ。事務系のサラリーマンだった40歳から趣味でプログラミングを始め、1996年より独学でActiveXに取り組む。
1997年に薬師寺聖とコラボレーション・ユニット「PROJECT KySS」を結成。
2003年よりフリーになり、PROJECT KySSの活動に本格的に参加。.NETやRIAに関する書籍や記事を多数執筆する傍ら、受託案件のプログラミングも手掛ける。
Windows Phoneアプリ開発を経て、現在はWindowsストアアプリを多数公開中。
Microsoft MVP for Development Platforms - Client App Dev (Oct 2003-Sep 2012)
Microsoft MVP for Development Platforms - Windows Phone Development(Oct 2012-Sep 2013)
Microsoft MVP for Development Platforms - Client Development(Oct 2013-Sep 2014)
Microsoft MVP for Development Platforms-Windows Platform Development (Oct 2014-Sep 2015)
どんなビジネスにも欠かせないリレーショナルデータベースの基礎知識と作り方――テーブル、レコード、フィールド、主キーとは
Access VBAでデータ入力フォームを作り、各コントロールを追加するためのデザインビューの使い方
Accessを使うなら最低限知っておきたいSQL文を使ったさまざまな種類のクエリ操作の基本
初心者でも図解で分かる! VBEの基本的な使い方とVBAプログラムの基礎文法
Accessでフォームからデータを追加し、Excelのシートにエクスポートする
SQLとはどういう言語か
数値判定、乱数発生、数値の丸めなど、数値に関する4つの関数の使い方
制御文で道案内
使うほどに良さが分かる正規表現
.NET Frameworkがサポートする正規表現クラスを徹底活用する(前編)
.NET Frameworkがサポートする正規表現クラスを徹底活用する(後編)Copyright © ITmedia, Inc. All Rights Reserved.