1

ほぼ 200 のテーブルを持つ Access データベースがあります。これらの多くのフィールドの名前を変更したいと思います (R でデータを分析するときに簡単にするため)。Access では単純にフィールドの名前を変更することはできず、新しい列を追加し、データを転送してから、古い列を削除するという難しい方法で名前を変更する必要があることがわかりました。

SQL を使用して一度に複数のテーブル (または複数のテーブルと列) に対してこれを行う方法はありますか?

私はこれを試しました:

ALTER TABLE * FROM MSysObjects ADD COLUMN colname NUMBER

これと同様に:

ALTER TABLE table1, table2, table3... ADD COLUMN colname NUMBER

しかし、どちらも機能していないようです。

これはまったく可能ですか?これをコーディングする方法を知っている人はいますか?

4

1 に答える 1

2

「SQL を使用して一度に複数のテーブル (または複数のテーブルと列) に対してこれを行う方法はありますか?」

いいえ、それは Access SQL の能力を超えています。一連のステートメントを実行する必要があり、それぞれが 1 つのテーブルのみを変更できます。

これらのステートメントを作成して実行する VBA プロシージャを作成できます。ただし、VBA を使用する場合は、DAO オブジェクト モデルを使用して列の名前を変更することを検討してください。

イミディエイト ウィンドウの簡単な例を次に示します。

? CurrentDb.TableDefs("tblFoo").Fields("some_text").Name
some_text
CurrentDb.TableDefs("tblFoo").Fields("some_text").Name = "some_text2"
? CurrentDb.TableDefs("tblFoo").Fields("some_text2").Name
some_text2
于 2013-11-05T16:42:04.577 に答える