Microsoft Access Club >ADOX入門講座 >このページ >次頁 < 前項  サイト内検索
 

ADOXを用いてテーブルを新規に作成する : ADOX入門講座



ADOX機能を用いてテーブルを新規作成することができます。方法は、Catalogオブジェクト (フィールドに該当)を1つ以上作成しTableオブジェクト(テーブルに該当)に追加します。次に、CatalogオブジェクトのTablesコレクションに追加 (Appendメソッド)します。

留意点
  • フィールドを持たないテーブルを作成することはできません。

テーブル作成の基本構文

テーブルを作成するADOXの構文は、以下のようになります。

Catalog.Tables.Append.Table
解説
項目 意味
Catalog 開いているCatalogオブジェクトです。
Tables 開いているTablesコレクションです。

フィールド作成の基本構文

フィールドを作成するADOXの構文は、以下のようになります。

Table.Columns.Append Column,Type,DefineSize
解説
項目 意味 備考
Table 開いているTableオブジェクトです。 省略不可
Column フィールド名を文字列で指定します。 省略不可
Type フィールドのデータ型を定数で指定します。 省略不可
DefineSize フィールドサイズのデータ型を定数で指定します。 省略可
フィールドのデータ型定数

フィールドのデータ型定数一覧は以下のとおりです。

定数 データ型名称
adGUID オートナンバー型
adVarWChar テキスト型
adLongVarWChar メモ型
adCurrency 通貨型
adDate 日付時刻型
adInteger 長整数型
adSmallInt 整数型
adBoolean ブール型
adDouble 倍精度浮動少数点型
adSingle 単精度浮動少数点型
留意点
  • テキスト型(adVarWChar)とメモ型(adLongVarWChar)の場合は、フィールドサイズ(DefineSize)を指定します。

ADOXを用いて新規テーブルを作成する

このプロシージャを実行すると、ID、名前、生年月日、性別フィールドを持った「tbl_sample」テーブルが新規作成されます。但し、同名のテーブルが既に存在している場合は、エラーが発生しますので注意して下さい。

Sub MyCreateTable()

    On Error GoTo エラー

    Dim cat As ADOX.Catalog
    Dim tbl As ADOX.Table
    
    Set cat = New ADOX.Catalog
    cat.ActiveConnection = CurrentProject.Connection 'カレントデータベースに接続
    
    Set tbl = New ADOX.Table
    tbl.Name = "tbl_sample" ' --- A
    Set tbl.ParentCatalog = cat ' --- B
    
    With tbl
        .Columns.Append "ID", adInteger
        .Columns.Item("ID").Properties("AutoIncrement") = True ' --- C
        .Columns.Append "名前", adVarWChar, 50
        .Columns.Append "生年月日", adDate
        .Columns.Append "性別", adVarWChar, 10
    End Witd

    cat.Tables.Append tbl ' --- D
    Set cat = Nothing
    
    Exit Sub
    
エラー:

    MsgBox "エラーID : " & Err.Number & vbNewLine & Err.Description, 16

End Sub
解説
  1. テーブル名を指定します。
  2. フィールドプロパティを操作するためにParentCatalog プロパティをセットします。
  3. IDフィールドを「数値型」から「オートナンバー型」に変更します。
  4. テーブルをTablesコレクションに追加します。

2005/10/22

ページの先頭へ 前ページへ戻る


ADOXを用いてテーブルを新規に作成する : ADOX入門講座


 

-Microsoft Access Club-

アメリカ合衆国の大手データセンターのアダルト対応可能なリーズナブル価格設定の専用・共有レンタルサーバーをご提供しています。
アメリカ合衆国の大手データセンターにサーバー機器を設置。
アダルト対応可能な専用・共有レンタルサーバーを提供。