SQL を使用して Accessデータベースにテーブルを新規登録する方法
◆概要
このページは、Visual Basic 6.0で、SQLを使ってAccessデータベースにテーブルを新規登録する方法について記載しています。
SQL(Structured Query Lnguage)を使って、Accessのデータベースにテーブルを追加するにはCREATE TABLE 区を使います。
◆Sample
VBからDAOを使うために、[プロジェクト]メニューの[参照設定]ダイアログボックスで、[Microsoft DAO 3.51 Object Library]を選択しておきます。
フォームモジュールに以下のコードを実装します。
Private Sub Command2_Click() Dim WS As Workspace 'WorkSpace Dim DB As Database 'Database Dim mstrSQL As String 'SQL文 Dim apPath 'プロジェクト起動時のフォルダを格納する変数 On Error GoTo ProcError Screen.MousePointer = vbHourglass 'プロジェクト起動時のフォルダを変数に代入し 'カレントフォルダをexeのあるフォルダに変更 apPath = App.Path ChDrive apPath ChDir apPath 'デフォルトワークスペースの定義 Set WS = DBEngine.Workspaces(0) 'データベースをオープンする Set DB = WS.OpenDatabase(apPath & "\" & "test.mdb") 'テーブルを新規登録するSQL文を作成する 'テーブル名やフィールド名などの名前は、[]で囲むと間違いの防止ができる '予約語や空白などが含まれた名前は、必ず[]で囲まなくてはならない 'この例では、フィールド名にマイナス記号が含まれているので、[]が必要です。 'なおこのSQL文はJet/MDB用のものです mstrSQL = "CREATE TABLE [TestTable] (" & _ "[Field-01] TEXT(10) CONSTRAINT" & _ "[PrimaryKey] PRIMARY KEY," & _ "[Field-02] SHORT,[Field-03] DOUBLE);" 'SQL文を実行して、テーブルを新規作成します。 '既に同名のテーブルが存在するとエラーになります。 DB.Execute mstrSQL 'データベースを閉じる DB.Close WS.Close '変数をクリア Set DB = Nothing Set WS = Nothing ProcExit: Screen.MousePointer = vbDefault Exit Sub ProcError: MsgBox Err.Description, vbExclamation Resume ProcExit End Sub