Microsoft Access Club >VBAのTips解説 >このページ >次頁 < 前項  サイト内検索
 

新規テーブルをデータ定義言語で作成する方法 : VBAのTips解説



CREATE TABLE ステートメント

CREATE TABLE ステートメントとは、「データベースオブジェクト」を操作するデータ定義言語で、新規にテーブルを作成することができるステートメントです。Accessにおいて、「データ定義クエリー」を作成する手順は、クエリーをデザインビューで開き、メニューバーの「クエリ」から「SQL」の「データ定義」を選択し保存します。 しかし、SQLでもあることからプロシージャ内で使用することもできます。

  • 書式
CREATE TABLE (tablename) ((filedname) (fieldtype) [(fieldsize)]....)
  • 引数
引数 意味 指定
tablename テーブル名を指定します 省略不可

fieldname

フィールド名を指定します 省略不可
fieldtype フィールドのデータ型を指定します 省略不可
fieldsize テキスト型の場合、フィールドサイズを指定します 省略不可

関連項目

  1. CurrentDb(DAO)
  2. Deleteメソッド(DAO)
  3. ActiveConnectionメソッド(ADO)
  4. Connectionオブジェクト(ADO)
  5. Executeメソッド(DAO、ADO)

事例 ) 毎月、「勤務成績査定管理」テーブルを新規に作成する

毎月、「勤務成績査定管理」テーブルを新規に作成します。

  1. 非連結フォームを作成します。
  2. 実行するコマンドボタンを作成します。

コマンドボタンクリック時イベントプロシージャの作成

コマンドボタンクリック時イベントプロシージャを以下のように作成します。

Private Sub 実行_Click()

   On Error GoTo エラー

   Dim db As DAO.Database
   Dim mySQL As String
   Dim strName As String

   Set db = CurrentDb
   strName = Month(Date) & "月分" & "勤務成績査定管理"

   mySQL = "CREATE TABLE " & strName
   mySQL = mySQL & "([社員コード] integer, " '--- A
   mySQL = mySQL & "[フリガナ] text, "
   mySQL = mySQL & "[氏名] text, "
   mySQL = mySQL & "[メモ] memo, "
   mySQL = mySQL & "CONSTRAINT [Index1] PRIMARY KEY ([社員コード]))"
   If MsgBox("「" & strname & "」用のテーブルを作成します。", _
                                            vbYesNo) = vbYes Then
      db.Execute mySQL
      MsgBox "テーブルを作成しました。"
   End If
   db.Close: Set db = Nothing

   Exit Sub

エラー:

   If Err.Number = 3010 Then
      db.TableDefs.Delete strName
      Resume
   Else
      MsgBox Err.Number & " : " & Err.Description
   End If

End Sub
解説
  1. フィールド名は[]で囲みます。続けてデータ型を指定します。

動作確認

  1. フォームをビューモードで開きます。
  2. [実行] ボタンをクリックします。

  1. 実行した月の勤務成績査定管理テーブルが作成されます。

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

 


新規テーブルをデータ定義言語で作成する方法 : VBAのTips解説


 

-Microsoft Access Club-

cPanelとPLESKインストール済みのアダルトサイト対応レンタルサーバーをご提供しています。もちろん、海外大手のデータセンターにサーバー機器を収納します。
cPanelやPLESKをインストールしたレンタルサーバー。
アダルトサイトにも対応済み。
海外大手データセンターにサーバー機器を収納。