データベース(MDBファイル)関連:ADOXを使いMDBファイルにテーブルを新規に作成する

VB2008でMDBファイルのテーブルを新規に作成する実行例サンプルです。

データベース(MDBファイル)関連へ



■実行画面
「テーブルの作成」ボタンで新規作成します。
テーブル作成フォーム

■完成した、「顧客マスター」テーブルをAccessで開くと、このようになっています。
テーブルデザイン

■実行コード

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim cat As ADOX.Catalog
Dim tbl As ADOX.Table
Dim s1 As String
Dim sfina As String

'ファイル名
sfina = "C:\mdbspl.mdb"
'JET4.0
s1 = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & sfina & "; Jet OLEDB:Engine Type= 5"

cat = New ADOX.Catalog
cat.let_ActiveConnection(s1)

tbl = New ADOX.Table
'テーブル名
tbl.Name = "顧客マスター"
tbl.ParentCatalog = cat
'フィールドの追加
tbl.Columns.Append("顧客ID", ADOX.DataTypeEnum.adInteger) '長整数型
tbl.Columns.Append("名前", ADOX.DataTypeEnum.adVarWChar, 30) 'テキスト型
tbl.Columns.Append("郵便番号", ADOX.DataTypeEnum.adVarWChar, 10)
tbl.Columns.Append("住所", ADOX.DataTypeEnum.adVarWChar, 50)
tbl.Columns.Append("登録日", ADOX.DataTypeEnum.adDate) '日付型
'テーブルの追加
cat.Tables.Append(tbl)
cat = Nothing

End Sub
End Class

■フィールドの型について
tbl.Columns.Append("顧客ID", ADOX.DataTypeEnum.adInteger)の場合、adIntegerがフィールドの型になります。
この型には下記の種類があります。

定数 内容

adBigInt 20 8バイトの符号付き整数
adBinary 128 バイナリ値
adBoolean 11 ブール値 (Yes/No型)
adBSTR 8 Null 終了するUnicode文字列
adChapter 136 子行セットの行を識別する4バイトチャプタ値
adChar 129 文字列値
adCurrency 6 通貨値 小数点以下4 桁の固定小数点の数値
adDate 7 日付値
adDBDate 133 日付値(yyyymmdd)
adDBTime 134 時刻値(hhmmss)
adDBTimeStamp 135 日付/時刻スタンプ(yyyymmddhhmmss)
adDecimal 14 固定精度およびスケールの正確な数値
adDouble 5 倍精度浮動小数点値
adEmpty 0 値を指定しない
adError 10 32ビットエラーコード
adFileTime 64 1601年1月1日からの時間
adGUID 72 固有のグローバル識別子(GUID)
adInteger 3 4バイトの符号付き整数 (長整数型)
adLongVarBinary 205 長バイナリ値
adLongVarChar 201 長文字列 (メモ型)
adLongVarWChar 203 Nullで終了するUnicode文字列
adNumeric 131 固定精度およびスケールの正確な数値
adPropVariant 138 オートメーションPROPVARIANT
adSingle 4 単精度浮動小数点
adSmallInt 2 2バイトの符号付き整数
adTinyInt 16 1バイトの符号付き整数
adUnsignedBigInt 21 8バイトの符号なし整数
adUnsignedInt 19 4バイトの符号なし整数
adUnsignedSmallInt 18 2バイトの符号なし整数
adUnsignedTinyInt 17 1バイトの符号なし整数
adUserDefined 132 ユーザー定義の変数
adVarBinary 204 バイナリ値 (Parameterオブジェクトのみ)
adVarChar 200 文字列値 (Parameterオブジェクトのみ)
adVarNumeric 139 数値 (Parameterオブジェクトのみ)
adVarWChar 202 Null 終了するUnicode 文字列 (Parameterオブジェクトのみ)
adWChar 130 Null 終了するUnicode 文字列


Visual Basic 2008 Express Edition実践入門