MS アクセスのデータベースファイル(以下 MDB ファイル)は、VB プログラムで作成することができます。 ここでは、VB プログラムで MDB ファイルを作り、そのデータベースにテーブルを作成します。 MS アクセスが利用できない人は、この章を参考にして、MDB ファイルを作成して下さい。
VB プログラムから MDB ファイルを作成し利用するためには、二つの作業が必要です。
MDB ファイルの新規作成は、CreateDatabase で行います。
CreateDatabase は MDB ファイルを新たに作り、作成した MDB ファイルをプログラムに接続します。
次の CreateDatabase は、最初に MDB ファイル 'db.mdb' を作ります。 次に作成した MDB ファイルを開き、 Database オブジェクトを作ります。 CreateDatabase は、このオブジェクトの参照を返すので、変数 db にセットします。 これで、新規データベースが VB プログラムに接続されます。
Dim db As Database
Set db = DBEngine.Workspaces(0).CreateDatabase("db.mdb", dbLangJapanese)
引数の dbLangJapanese は、文字データを整列するときなどに、文字コードを日本語として扱うことを指示しています。
次の例では、 CREATE TABLE を実行し、新規にテーブルを作成します。
Dim statement As String
statement = "create table kojin(" _
& "id long constraint kojin_pry primary key," _
& "name text(20)," _
& "data text(50));"
db.Execute statement
実行後、次のテーブルが作成されます。
| フィールド名 | データ型 | 大きさ | 備考 |
|---|---|---|---|
| id | 長整数 | ‐ | 主キー |
| name | テキスト | 20 | |
| data | テキスト | 50 |
VB4 の CREATE TABLE はかなり制限があって、標準的な SQL が使えません(詳しい情報は VB のヘルプを参照して下さい)。
次のプログラムは MDB ファイル 'db.mdb' を新規作成し、「テーブルの作成」ボタンをクリックすると、テーブル 'kojin' を作成します。

以下はソースプログラムです。
Option Explicit
Private db As Database
Private Sub cmdCreate_Click()
On Error GoTo errorhandle
Dim statement As String
statement = "create table kojin(id long constraint kojin_pry primary key, " _
& "name text(20), data text(50));"
db.Execute statement
Exit Sub
errorhandle:
MsgBox Err.Description & vbCrLf & "SQL文:" & statement, _
vbExclamation, "テーブル作成"
Exit Sub
End Sub
Private Sub cmdQuit_Click()
db.Close
End
End Sub
Private Sub Form_Load()
On Error GoTo errorhandle
Set db = DBEngine.Workspaces(0).CreateDatabase("db.mdb", dbLangJapanese)
Exit Sub
errorhandle:
MsgBox Err.Description, vbCritical, "DB接続"
End
End Sub
プログラムを実行すると、'db.mdb' が作成されます。 「テーブルの作成」ボタンをクリックして、CREATE TABLE を実行して下さい。 MS アクセスでファイルを開き、テーブルが正しく作られたか確認しましょう。 すでに 'db.mdb' があるときには、エラーで終了します。
VB4の CREATE TABLE は不充分で、とても使いにくいです。 標準 SQL とかなり違って、データタイプに integer や char すら使えません。 VB6(現在最新バージョン)では使えますか。 CREATE TABLE で他のテーブルを追加してみましょう。