Microsoft Access Club >VBAのTips解説 >このページ >次頁 < 前項  サイト内検索
 

ADOXを用いて新規にテーブル、フィールドを作成する方法 : VBAのTips解説



Appendメソッド (Tables)
Appendメソッド (Columns)
Appendメソッド (Index)

Appendメソッドとは、引数のプロパティを変更するだけで、テーブルの新規作成からフィールドの作成、そして、作成したフィールドに対するインデックスの追加などを行うメソッドです。

書式
□ Tables
catalog.Tables.Append Table
□ Columns
Table.Columns.Append Column [, Type] [, DefinedSize]
□ Index
Table.Indexes.Append Index [, Columns]
引数
  • Tables
引数 意味 指定
catalog Catalogオブジェクト型のオブジェクトを指定します 省略不可
Table テーブル名、もしくはテーブルへの参照値です 省略不可
  • Columns
引数 意味 指定
Table テーブル名、もしくはテーブルへの参照値です 省略不可
Column フィールド名を指定します 省略不可
Type フィールドのデータ型を指定します 省略不可
DefinedSize テキスト型のデータサイズを指定します 省略不可
  • 引数の設定値(引数type)

引数 意味
adBoolean Yes/No 型
adUnsignedTinyInt 数値型 (FieldSize = バイト型)
adCurrency 通貨型
adDate 日付/時刻型
adDecimal 数値型 (FieldSize = 小数型)
adDouble 数値型 (FieldSize = Double)
adGUID 数値型またはオートナンバー型 (FieldSize = レプリケーション ID 型)
adSmallInt 数値型 (FieldSize = 整数型)
adInteger 数値型またはオートナンバー型 (FieldSize = 長整数型)
adLongVarBinary OLE オブジェクト型
adLongVarWChar メモ型
adSingle 数値型 (FieldSize = Single)
adVarWChar テキスト型
adLongVarWChar ハイパーリンク型
  • Index
引数 意味 指定
Table テーブル名、もしくはテーブルへの参照値です 省略不可
Index インデックス名を指定します 省略不可
Columns インデックスを追加する列名を指定します 省略不可

関連項目

  1. ActiveConnection(ADOX)

事例 ) カレントデータベースに接続し、新規に「住所録」テーブルを作成する

カレントデータベースに接続し、新規に「住所録」テーブルを作成する。

  1. 非連結フォームを作成します。
  2. 実行するコマンドボタンを作成します。

コマンドボタンクリック時イベントプロシージャの作成

コマンドボタンクリック時イベントプロシージャを以下のように作成します。

Private Sub 実行_Click()

   On Error GoTo エラー

   Dim cat As ADOX.Catalog
   Dim tbl As ADOX.Table
   Dim idx As ADOX.Index
   Dim varRet As Variant
   Dim strMsg As String

   Set cat = New ADOX.Catalog
   cat.ActiveConnection = CurrentProject.Connection '--- A

   Set tbl = New ADOX.Table
   tbl.Name = "住所録"

   tbl.Columns.Append "ID", adGUID
   tbl.Columns.Append "日付", adDate
   tbl.Columns.Append "氏名", advarWChar, 30
   tbl.Columns.Append "住所", advarWChar, 255

   cat.Tables.Append tbl

   Set idx = New ADOX.Index
   idx.Name = "Primary"
   idx.PrimaryKey = True
   idx.Columns.Append "ID"

   tbl.Indexes.Append idx

   MsgBox tbl.Name & "テーブルを作成しました。"

   Set cat = Nothing

   Exit Sub

エラー:

   If Err.Number = -2147217857 Then
      MsgBox "既に、" & tbl.Name & "テーブルが存在します。"
   Else
      MsgBox Err.Number & " : " & Err.Description
   End If

   Exit Sub

End Sub
解説
  1. カレントデータベースに接続します。

動作確認

  1. フォームをビューモードで開きます。
  2. [実行] ボタンをクリックします。

  1. 「住所録」テーブルが作成されます。

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

 


ADOXを用いて新規にテーブル、フィールドを作成する方法 : VBAのTips解説


 

-Microsoft Access Club-

年額2,400円でドメインネームサーバーをご用意します。自宅サーバ構築時にご利用下さい。自宅サーバーは応用範囲が広いです。
年額2,400円でドメインネームサーバー。
自社・自宅サーバ構築時にご利用下さい。
やはり、自前サーバーは応用範囲が広いです。