#333 フィールドがハイパーリンク型かどうか調べるには? VBA

レコードセットのフィールドのデータ型は、「#331 フィールドのデータ型を調べるには?」の方法で取得できますが、Typeプロパティではハイパーリンク型はメモ型と判別されるだけです。ハイパーリンク型かどうかは、さらにFieldオブジェクトの「Attributes」プロパティを調べて判断します。

Attributesプロパティの値と、ハイパーリンク型を表す組み込み定数 dbHyperlinkField とのマスク演算を行い、それがTrueならハイパーリンク型です。

Dim dbs As Database
Dim rst As Recordset
Dim fld As Field

Const cstrTableName = "mtbl商品マスタ"       'テーブル名
Const cstrFieldName = "参照画像リンク"       'フィールド名

Set dbs = CurrentDb
Set rst = dbs.OpenRecordset(cstrTableName)
Set fld = rst.Fields(cstrFieldName)
If (fld.Type = dbMemo) And _
      (fld.Attributes And dbHyperlinkField) Then
  MsgBox cstrFieldName & " はハイパーリンク型です!"
Else
  MsgBox cstrFieldName & " はハイパーリンク型ではありません!"
End If
rst.Close

| Index | Prev | Next |

この情報は参考になりましたか?、問題は解決しましたか?、もしまだなら......
T'sWareのワンポイトテクニカルアドバイスをご利用ください。3000円/件〜でご支援します。
スタンドアロンからSQL Server対応まで、オーダーメイドのシステムを短納期・安価でお届けします
 

Copyright © T'sWare All rights reserved