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

テーブルの作成 : DAO入門講座



テーブルとフィールドの作成は、データベースウィンドウの[新規作成]をクリックし、ウィザードに従って行えば簡易に行うことができます。今回、この作業をDAOを用いて行ってみます。

  • DAOでテーブルはTableDefsコレクション、フィールドはFieldsコレクションで管理されています。よって、テーブルを作成するということは、これらコレクションにそれぞれのオブジェクトを追加していくことを意味します。
  • 1つのテーブルを作成(TableDefsコレクションに追加)するには、TableDefオブジェクトを作成しTableDefsコレクションに追加します。
  • 1つのフィールドを作成(Fieldsコレクションに追加)するには、Fieldオブジェクトを作成しFieldsコレクションに追加します。

このあたりの定義づけはややっこしいですが、機械的に覚えてしまいましょう。

テーブル作成の手順

テーブルは、少なくとも1つ以上のフィールドを作成しなくてはいけません。そして、各オブジェクトのコレクションへの追加は、階層の低い方から順番に行っていく必要があります。

作成手順

作成手順は、下記のようになります。

  1. TableDefオブジェクト(テーブル本体)を作成する。
  2. Fieldオブジェクト(1つ以上のテーブルを構成するフィールド)を作成する。
  3. Fieldオブジェクトを作成し、Fieldsコレクションに追加する。 
  4. TableDefオブジェクトを作成し、TableDefsコレクションに追加する。

これ以降、NewAddメソッドを用いるなどして新規レコードを作成していきます。

テーブルの作成

Subプロシージャ MyTableCreate を作成します。このプロシージャを実行すると、ID、氏名、住所フィールドを持つ「住所録」テーブルが作成されます。

Sub MyTableCreate()

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 ' --- C
    tbdef.Fields.Append flname
    tbdef.Fields.Append fladr
    
    db.TableDefs.Append tbdef ' --- D
    
    MsgBox "テーブル作成が完了しました。"

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

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

    Exit Sub

End Sub
解説
  1. CreateTableDefメソッドで住所録テーブルを作成します。
  2. CreateFieldメソッドでIDフィールド他を作成します。テーブル作成では、1つ以上のフィールドを作成しなければいけません。
  3. 作成済みのフィールドをAppendメソッドでFieldDefsコレクションに追加します。このAppendメソッドを実行して初めてフィールドが意味あるものになります。
  4. 同じく、Appendメソッドを用いてTableDefsコレクションに「住所録」テーブルを追加します。
  5. 作成するテーブル名と同名のテーブルが既に存在している場合、エラーナンバー3010が発生します。この時は、サンプルでは既テーブルをDAOのDeleteメソッドを用いて削除しています。
実行結果

実行結果は以下のとおりです。まず、データベースウィンドウに「住所録」テーブルが作成されます。

作成したテーブルのデザインビューは以下のとおりです。

2004/06/04

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

 


テーブルの作成 : DAO入門講座


 

-Microsoft Access Club-

アダルト・ゲーム配信可能なPLESKパネル付属の専用・共有レンタルサーバーを提供しています。
アダルトやゲーム配信が可能です。
全専用/共有レンタルサーバーにPLESKパネルをインストール済み。