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 記事・情報の無断転載を禁止します。
|