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

No.002

アイコン テーブルの複数フィールドのデータ型をまとめて変更する

Access2003/2007/2010/2013/2016

1つのフィールドのデータ型を変更するならばデータ定義クエリを使って処理することができます。構文は次のとおりです。

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

データ型の指定は次のとおりです。

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

例えば、テーブルインポート時にいつも、複数フィールドまとめて自動でデータ型を変更、となるとマクロもしくはVBAをが便利です。

マクロで作成する場合は、アクション[SQLの実行]に上記記述を設定しますが、複数フィールドの場合は、その数分のアクション[SQLの実行]を作成して実行すればいいと思います。

VBAを使用する場合は、次のような記述です。
テーブル1のフィールド[あああ]を日付/時刻型に、テーブル2のフィールド[いいい]をテキスト型にします。

  CurrentDb.Execute "ALTER TABLE テーブル1 ALTER COLUMN あああ DATE"
  CurrentDb.Execute "ALTER TABLE テーブル2 ALTER COLUMN いいい TEXT"

たくさんのフィールドがある場合は、VBAが便利でいいですね。

さて、テキスト型に設定して実行した場合、フィールドサイズが「255」でできあがります。
フィールドサイズも含めて設定したい場合、「TEXT(25)」または「CHAR(25)」のように数値を指定します。

関連ヘルプ

AccessからExcelを操作する 《CreateObject》
ページのトップへ戻る