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
コメント