Microsoft Access Club >DAO入門講座 >このページ  サイト内検索
 

CreateTableDefメソッド : DAOリファレンス - DAO入門講座



新しいテーブルを作成するメソッドで、Jetワークスペースでのみ使用することができます。なお、少なくとも1つのフィールドを新規作成しない場合、または追加するテーブル名が既に存在している場合は、Appendメソッド(コレクションへの追加を行うメソッド)の実行時にエラーが発生します。なお、コレクションからの削除は、Deleteメソッドで行います。

書式と引数

  • Set tabledef = database.CreateTableDef (name, attributes, source, connect)
引数 解説 その他
tabledef TableDef型で宣言したオブジェクト変数を指定します。 省略不可
database Database型で宣言したオブジェクト変数を指定します。 省略不可
name 作成するテーブル名を文字列で指定します。 省略不可
attributes 作成するテーブルの属性を指定します。 省略可
source 作成するテーブルのデータソースを指定します。 省略可
connect テーブルを作成するデータベースの情報を指定します。 省略可

事例

下記のプロシージャを実行すると、「住所録」テーブルが作成されます。

Sub TableCreate()

On Error GoTo エラー

    Dim db As DAO.Database
    Dim tbdef As DAO.TableDef
    Dim flid As DAO.Field
    Dim flname As DAO.Field
    Dim fladr As DAO.Field

    Set db = CurrentDb
    Set tbdef = db.CreateTableDef("住所録") '--- A
    
    Set flid = tbdef.CreateField("ID", dbInteger) '--- B
    Set flname = tbdef.CreateField("氏名", dbText, 20)
    Set fladr = tbdef.CreateField("住所", dbText, 50)
    
    tbdef.Fields.Append flid
    tbdef.Fields.Append flname
    tbdef.Fields.Append fladr
    
    db.TableDefs.Append tbdef '--- C
    
    MsgBox "テーブル作成が完了しました。"

    db.Close: Set db = Nothing
    
    Exit Sub
    
エラー:

    If Err.Number = 3010 Then
        db.TableDefs.Delete "住所録"
        Resume
    Else
        MsgBox Err.Number & " : " & Err.Description
    End If

    Exit Sub

End Sub
 
解説
  1. CreateTableDefメソッドで「住所録」テーブルを作成します。しかし、Appendメソッドで保存(Tablesコレクションに追加)を行わなければ、無効になります。
  2. CreateFieldメソッドでフィールドを作成します。同じく、Appendメソッドで保存(Tablesコレクションに追加)を行わなければ、無効になります。
  3. Appendメソッドでテーブル、フィールドをそれぞれのコレクションに追加します。これで、実際にフィールドを持ったテーブルが作成されます。

実行結果

このプロシージャを実行すると、下記のようなデザインビューを持つテーブルが作成されます。

関連ページ

 

2004/05/07

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

 


CreateTableDefメソッド : DAOリファレンス - DAO入門講座


 

-Microsoft Access Club-

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