Accessのテーブルの説明欄に一括して値をセットするモジュールを作ってみた。使用方法は以下のとおり。
1.カタログ情報を格納する新規テーブルを作成する
テーブル名:MyCatalog
カラム:テーブル名、説明
※テーブル名は必ずこの名前にすること(モジュール内に記述しているので
カラム名は定義した順序さえあっていれば、特に指定はありません。
2.作成したテーブルに値を追加する
3.モジュールを作成し、以下のコードを実行する
Option Compare Database Public Sub tableDescriptionSetting() Dim db As Database Dim Prp As DAO.Property Dim recCatalog As Recordset Dim tableName As String Dim tableDescription As String On Error Resume Next 'DBの取得 Set db = CurrentDb '作成したカタログテーブルを取得する Set recCatalog = db.OpenRecordset("MyCatalog") 'カタログテーブルがなくなるまでループ Do Until recCatalog.EOF = True 'テーブル名、説明を取得 tableName = recCatalog(0).Value tableDescription = recCatalog(1).Value 'プロパティを作成する Set Prp = db.TableDefs(tableName).CreateProperty With Prp .Name = "Description" .Type = dbText .Value = tableDescription End With '作成したプロパティをセット db.TableDefs(tableName).Properties.Append Prp Set Prp = Nothing recCatalog.MoveNext Loop MsgBox "完了しました" End Sub
On Error Resume Nextを入れているのでエラーが発生した場合もそのまま継続します。
動作検証:Access2003