Access:SQLを使用しクエリで主キーとオートナンバー型を含むテーブルを新規作成

クエリでSQLを使用し、主キーとオートナンバー型を含むテーブルを新規作成する方法を掲載しています。

BackHome Backクエリ

VBAでSQLを使用し新規テーブルを作成することができますが、クエリでもSQLを使用し作成できます。

テーブルを作成するには「CREATE TABLE」ステートメントを使用します。

CREATE TABLEの基本構文

CREATE TABLE table field1 type(size), field2 type(size), …

  • table:作成するテーブル名
  • field:作成するフィールド名
  • type:フィールドのデータ型
    オートナンバー型の場合は、AUTOINCREMENT を使います。
    主キーに指定するには、CONSTRAINT PRIMARYKEY PRIMARY KEY のように指定します。
  • size:テキスト型とバイナリ型の場合のフィールドサイズ

掲載済みの「選択クエリから新しいテーブルを作成する」も参照してください。但しこの方法ですと主キーの設定はできません。




クエリでSQLを使用し、主キーとオートナンバー型を含むテーブルを新規作成する方法

初めにシンプルなテーブルをクエリで作成する

リボンの[作成]~[クエリ デザイン]をクリックします。

[クエリ デザイン]をクリック

テーブルの表示ダイアログが開きますが、何もしないで閉じます。

テーブルの表示ダイアログを閉じる

リボンの[クエリ ツール]~[デザイン]~結果グループの[SQL]をクリックします。

結果グループの[SQL]をクリック

SQLの入力ウィンドウが表示されるので、下記のようにSQLクエリを入力し実行します。

SQLクエリを入力し実行する

・CREATE TABLEステートメントで、新規テーブルを作成します。

・「製品ID」フィールドは長整数型、「製品コード」と「製品名」はテキスト型に設定しています。

CREATE TABLE test1
(製品ID LONG,
製品コード TEXT(15),
製品名 TEXT(25));


作成したテーブルのデザインビュー画面です。

フィールド名とデータ型は設定した通りにできています。

作成したテーブルのデザインビュー画面

オートナンバー型で主キーのフィールドをクエリで作成する

下記のオートナンバー型と主キーフィールドを作成するSQLクエリを入力します。

オートナンバー型と主キーフィールドを作成するSQLクエリ

・AUTOINCREMENTでオートナンバー型を指定しています。
・CONSTRAINT句で、制約名のPRIMARYKEY、制約の種類のPRIMARY KEYを設定しています。

CREATE TABLE test2
(製品ID AUTOINCREMENT CONSTRAINT PRIMARYKEY PRIMARY KEY,
製品コード TEXT(15),
製品名 TEXT(25));

クエリで新規作成したテーブルのデザインビューです。

「製品ID」フィールドに主キーである鍵のアイコンが表示され、データ型はオートナンバー型になっています。

フィールドに主キーである鍵のアイコンが表示され、データ型はオートナンバー型

既に存在するテーブルを作成しようとした場合

テーブル新規作成のクエリを実行すると、下のように「テーブル(テーブル名)は既に存在しています。」とエラーメッセージが表示され、上書きし作成することはできません。

既に存在するテーブルを作成しようとした場合のエラー


BackHome Backクエリ

Copyright(C) FeedSoft