#357 テーブルのフィールド名をプログラムから一括変更する方法 VBA

次のサンプルコードをアレンジすることで、テーブルのフィールド名をVBAプログラムから一括変更することができます。
フィールド名は、クエリや、フォーム/レポート上のコントロールのソースとして参照されていることが多々ありますが、Accessのオプションの[全般]タブにおいて「名前の自動修正を行う」にチェックを入れておけば、それらもまとめて変更されますので、何らかの理由で大量のフィールド名変更が必要になったときは、このプログラムを流用することでそれらの作業を確実かつ簡単に行うことができます。

ただし、モジュール内で使われているフィール名はあとからマニュアルで変更しなければなりません。また、"[フィールド名]"のように、カッコを使ってフィールド名を参照しているコントロールソースについてはAccessの自動修正が反映されない場合がありますので、注意してください。

Public Sub FieldNameChange()

  Dim dbs As Database

  Set dbs = CurrentDb

  'ここでテーブル名を指定します
  With dbs.TableDefs("tblデータ1")
    '現在のフィールド名(左辺)と新しい名前(右辺)を列挙します。
    .Fields("フィールド1").Name = "ID"
    .Fields("フィールド2").Name = "社員番号"
    .Fields("フィールド3").Name = "名前"
    .Fields("フィールド4").Name = "ふりがな"
    .Fields("フィールド5").Name = "生年月日"
    .Fields.Refresh
  End With

End Sub
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved