ACCESSのMDBを作成する

.NET (VB)の内容
【注意書き】
●VB.NET を使っているものとします。
●動作環境は、Windows XX を使用しているとします。
●Microsoft.Jet.OLEDB.4.0 を使用しています。


VB.NET でも、
ACCESSのMDBを作成することが可能です。

この機能を使えば、簡単に、
ACCESSの機能を使ったデータベースを取り扱うアプリケーション
など簡単に作成できます。


フォームに次の様なコードを記述します


-----------VB.NETコーディングここから-------------------

1.メニューバーの中に、「プロジェクト」→「参照の追加」
   から、「COM」のタブ中にある
    Microsoft ADO Ext X.X for DDL and Security を1つ選んで、
   「選択」を押し、その後、「OK」を押します。

  この操作で、参照が追加されます。
      ※バージョンは、X.Xの部分が数字です。
      Microsoft ADO Ext 2.7 for DDL and Security など

2.フォームに、
    ラベルコントロール、
    テキストボックスコントロール、
    ボタンコントロール
    を配置します。
    下記は、デフォルトのオブジェクトの名前と配置を示しています。

   ┏━━━━━━━━━━━┓
   ┃Label1                ┃
   ┗━━━━━━━━━━━┛
   ┏━━━━━━━━━━━┓
   ┃TextBox1              ┃
   ┗━━━━━━━━━━━┛

   ┏━━━━━━━━━━━┓
   ┃Label2                ┃
   ┗━━━━━━━━━━━┛
   ┏━━━━━━━━━━━┓
   ┃TextBox2              ┃
   ┗━━━━━━━━━━━┛
   ┏━━━━━━━┓
   ┃Button1       ┃
   ┗━━━━━━━┛



3.ボタンコントロールの
    Button1 text プロパティに「MDB作成」と記述します。

    Label1 text プロパティに「作成先ディレクトリ」と記述します。
    Label2 text プロパティに「作成先ファイル名」と記述します。
  ※説明用のためです。必須ではありません。

   ┏━━━━━━━━━━━┓
   ┃作成先ディレクトリ    ┃
   ┗━━━━━━━━━━━┛
   ┏━━━━━━━━━━━┓
   ┃TextBox1              ┃
   ┗━━━━━━━━━━━┛

   ┏━━━━━━━━━━━┓
   ┃作成先ファイル名      ┃
   ┗━━━━━━━━━━━┛
   ┏━━━━━━━━━━━┓
   ┃TextBox2              ┃
   ┗━━━━━━━━━━━┛
   ┏━━━━━━━┓
   ┃MDB作成       ┃
   ┗━━━━━━━┛



4.ボタンコントロールをダブルクリックして、
    ボタンのクリックイベントの編集を開始して、
    フォームの宣言部に、次のコードを記述します。


    Dim MjstrPath As String



  さらに次のコードを記述します。


    '作成先パス(ディレクトリとファイル名)を指定
    Function MDB_CRTDATABASE(ByVal PistrMakPath As String) As Boolean


        MDB_CRTDATABASE = False

        Dim objCat As ADOX.Catalog    'カタログ
        Dim strDatbasePara As String    'データベースパラメータ


        Dim strTable As String          'テーブル名称
        Dim objTable As ADOX.Table      'テーブル



        strDatbasePara = "Provider=Microsoft.Jet.OLEDB.4.0;" + _
                        "Data Source=" + PistrMakPath + ";" + _
                        "Jet OLEDB:Engine Type=5;"
        Try

            'ADOXオブジェクトを作成します
            objCat = New ADOX.Catalog

            'MDB作成
            objCat.Create(strDatbasePara)



            '初期テーブルを作成します
            ' テーブル名を指定してテーブルを追加する
            strTable = "sampleTable"
            objTable = New ADOX.Table

            With objTable


                .Name = strTable
                .Columns.Append("ID", _
                ADOX.DataTypeEnum.adInteger)
                .Columns.Append("名前", _
                ADOX.DataTypeEnum.adVarWChar, 50)
                .Columns.Append("性別", _
                ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("電話番号", _
                ADOX.DataTypeEnum.adVarWChar, 20)
                'NULLを許さない
                .Columns("ID").Attributes = _
                ADOX.ColumnAttributesEnum.adColNullable

            End With

            objCat.Tables.Append(objTable)



            MDB_CRTDATABASE = True

        Catch ex As Exception

        End Try

        objCat = Nothing

    End Function



    Private Sub Button1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button1.Click

        Dim strMdbpath As String

        strMdbpath = TextBox1.Text + "\" + TextBox2.Text


        If TextBox1.Text = "" Then
            MsgBox("MDB作成ディレクトリを入力してください")
            Exit Sub
        End If
        If TextBox2.Text = "" Then
            MsgBox("MDB作成ファイル名を入力してください")
            Exit Sub
        End If
        If Dir(strMdbpath) <> "" Or _
        Dir(strMdbpath + ".mdb") <> "" Then
            MsgBox("すでに存在しています")
            Exit Sub
        End If

        If MDB_CRTDATABASE(strMdbpath) Then
            MsgBox("作成しました")
        Else
            MsgBox("作成に失敗!")
        End If

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles MyBase.Load

        'ディレクトリを取り出しています
        Dim strWorkPath As String
        Dim strPath As String

        'アプリケーションディレクトリを取得する
        strWorkPath = _
        System.Reflection.Assembly.GetExecutingAssembly.Location
        Dim myFileInfo As New System.IO.FileInfo(strWorkPath)
        MjstrPath = myFileInfo.DirectoryName

        TextBox1.Text = MjstrPath
        TextBox2.Text = "sample.mdb"

    End Sub


5.ビルドして実行します。

6.フォームに表示された
    コマンドボタン「MDB作成」を押します。

7.作成先ディレクトリと作成先ファイルに指定された
    mdb 形式のファイルが作成されます。


-----------VB.NETコーディングここまで-------------------

本サンプルでは、
System.Reflection.Assembly.GetExecutingAssembly.Location
で実行パスを取得して、sample.mdb をデフォルトで指定しています。

この部分を変更することで、
希望する作成先のディレクトリパスへ簡単にmdb作成が可能です。

また、このサンプルでは、mdb作成と同時に
空のテーブル sampleTable をデフォルトで作成しています。

フィールド名       型     幅    値要求
ID             数値型     --    はい
名前       テキスト型     50    いいえ
性別       テキスト型     50    いいえ
電話番号   テキスト型     10    いいえ


また、カスタマイズすることで、
Excel等へのエクスポートも可能です。




 

http://anetm.com/dev/d.cgi?SC=DTDTL&o=OeV

Copyright(c)2001-2006 Ai Net Makoto 記事・情報の無断転載を禁止します。