ExcelでDAOを使いデータベースソフトを作ってみよう

Step 5 顧客管理データベースファイルの作成

顧客管理のMDBファイルを作成します。

顧客IDは、オートナンバー型の主キーフィールドにしています。

その他のフィールドは下記になります。
名前 : テキスト型
フリガナ : テキスト型
年齢 : 長整数型
郵便番号 : テキスト型
住所1 : テキスト型
住所2 : テキスト型
電話番号 : テキスト型
FAX番号 : テキスト型
メール : テキスト型


Homeへ > Excelでアプリケーションソフト2 > DAOデータベースソフト

シート画面

ExcelのMDBファイル作成画面
「作成するファイル名」に、ファイル名を入力し、「顧客管理データベースの新規作成」ボタンをクリックするとMDBファイルの作成を開始します。
データベース作成シート

作成されたテーブル
顧客管理のテーブルデザイン


シートのVBAコード

Option Explicit

Private Sub CommandButton1_Click()
    Dim db As Database
    Dim tbdef As TableDef
    Dim fld As Field
    Dim idx As DAO.Index
    Dim sdir As String
    
    If TextBox1.Value = "" Then
        MsgBox "作成するファイル名を入力してください。"
        Exit Sub
    End If

    sdir = ActiveWorkbook.Path
    If Right(sdir, 1) <> "\" Then
        sdir = sdir & "\"
    End If

On Error GoTo ErrExit
    ' データベースを作成します
    Set db = DBEngine.Workspaces(0).CreateDatabase(sdir & TextBox1.Value, dbLangJapanese)

    'テーブルを作成します
    Set tbdef = db.CreateTableDef("顧客マスター")

    'フィールドを作成します。
    Set fld = tbdef.CreateField("顧客ID", dbLong)
    'オートナンバー型にします。
    fld.Attributes = dbAutoIncrField
    tbdef.Fields.Append fld
    
    Set fld = tbdef.CreateField("名前", dbText, 20)
    tbdef.Fields.Append fld
    
    Set fld = tbdef.CreateField("フリガナ", dbText, 20)
    tbdef.Fields.Append fld
    
    Set fld = tbdef.CreateField("年齢", dbLong)
    tbdef.Fields.Append fld
    
    Set fld = tbdef.CreateField("郵便番号", dbText, 10)
    tbdef.Fields.Append fld
    
    Set fld = tbdef.CreateField("住所1", dbText, 100)
    tbdef.Fields.Append fld
    
    Set fld = tbdef.CreateField("住所2", dbText, 100)
    tbdef.Fields.Append fld
    
    Set fld = tbdef.CreateField("電話番号", dbText, 20)
    tbdef.Fields.Append fld
    
    Set fld = tbdef.CreateField("FAX番号", dbText, 20)
    tbdef.Fields.Append fld
    
    Set fld = tbdef.CreateField("メール", dbText, 30)
    tbdef.Fields.Append fld
    
    '主キーの作成
    Set idx = tbdef.CreateIndex("PrimaryKey")
    Set fld = idx.CreateField("顧客ID", dbLong)
    idx.Fields.Append fld
    'Primaryプロパティをセット
    idx.Primary = True
    'インデックスを追加
    tbdef.Indexes.Append idx
    
    db.TableDefs.Append tbdef

    'データベースを閉じます
    db.Close
    '終了処理を行います
    Set fld = Nothing
    Set tbdef = Nothing
    Set db = Nothing
    
    MsgBox "正常にデータベースファイルを作成しました。"
    Exit Sub

ErrExit:
    MsgBox "データベース作成中にエラーが発生しました。" & vbCrLf & Err.Description
End Sub


Homeへ > Excelでアプリケーションソフト2 > DAOデータベースソフト

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved