動的プロパティー?

Accessには、明示的に設定するまで作成されないプロパティーがあります。

例えば、テーブルのDisplayControlプロパティーです。

このプロパティーを設定せずにVBAから設定しようとするとプロパティーが存在しない旨のエラーとなります。

VBAから設定する場合には、プロパティーの有無をまず確認し、存在しない場合にはCreatePropertyで作成する必要があります。

On Error Resume Next
Set objPrp = objField.Properties("DisplayControl")
If Err.Number = 3270 Then
    'プロパティが存在しない場合はプロパティを作成する
    On Error GoTo SysError_Handler
    Err.Clear
    Set objPrp = objField.CreateProperty("DisplayControl", dbInteger, acCheckBox)
    objField.Properties.Append objPrp
End If

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です