ヘルプの森~Excel・Access・Office全般ヘルプデスクサイト

No.004

テーブルのデータ型をクエリで変更する 《データ定義クエリ》

2003/2007/2010/2013/2016

テーブルのフィールドのデータ型をクエリを使って変更する方法です。

データ型の変更は[データ定義クエリ]を使用します。
データ定義クエリでのデータ型の変更は1つのフィールドのみとなります。
データ定義クエリはSQLでの書き方となり、構文は次のとおりです。

  ALTER TABLE テーブル名 ALTER COLUMN フィールド名 データ型;

では作成してみましょう。

デザイン ビューでクエリを作成し、テーブルを追加せず、[クエリ ツール]-[デザイン]タブ-[クエリの種類]グループ-[データ定義]をクリックします。

データ定義クエリ

例えば、テーブル1のフィールド[F1]のデータ型をテキスト型にする場合、データ定義クエリに次のように記述します。

  ALTER TABLE テーブル1 ALTER COLUMN F1 TEXT;

データ定義クエリ

テキスト型の設定はもちろん最後の「TEXT」ですが、他のデータ型に設定する場合の指定は、次のとおりです。

  • テキスト型 …TEXT または CHAR
  • 数値型(バイト型) …BYTE
  • 数値型(整数型) …INTEGER
  • 数値型(長整数型) …LONG
  • 数値型(単精度浮動小数点型) …SINGLE
  • 数値型(倍精度浮動小数点型) …NUMBER
  • 通貨型 …CURRENCY または MONEY
  • 日付/時刻型 …DATE
  • オートナンバー型 …COUNTER

複数のフィールドのデータ型を変更するような場合は、その分のデータ定義クエリを作成することになります。
作成したデータ定義クエリを、マクロのアクション[クエリを開く]で実行するように指定すれば、複数のデータ型を変更することができます。

VBAを使用するならば、ヘルプ「テーブルの複数フィールドのデータ型をまとめて変更する」をご参照ください。

Access2003では、
選択クエリからデータ定義クエリに変更するには、[クエリ]-[SQL]-[データ定義]をクリックします。

関連ヘルプ

クエリの演算フィールドについて、式ビルダーの使い方
クロス集計クエリの結果のNull値を「0」と表示する
重複のない一通りデータを取得したい
外部結合とは
削除クエリで、別のテーブルまたはクエリと共通するレコードを一括削除する
複数テーブルをつなげてレコードを結合する 《ユニオン クエリ》
クエリで空白(でない)データを抽出したい、Accessの空白について
重複クエリとは
部分一致のパラメーター クエリを作成する、パラメーター クエリの設定方法
更新クエリでテーブルのデータを置換する(文字列の一部更新)
クロス集計クエリを元にパラメーター クエリを実行「~認識できません」エラー
特定のレコードのみ最初に並べ、他のレコードは普通に並べ替えする
基本的な抽出条件の書き方について
ワイルドカードや数式を使用した高度な抽出
クエリで連番、グループ連番をふる
アクション クエリのメッセージを非表示にするには
twitter hatena line pocket