ACCESSの説明をセット


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