#332 | フィールドがオートナンバー型かどうか調べるには? | VBA | |
レコードセットのフィールドのデータ型は、「#331 フィールドのデータ型を調べるには?」の方法で取得できますが、Typeプロパティではオートナンバー型は長整数型と判別されるだけです。オートナンバー型かどうかは、さらにFieldオブジェクトの「Attributes」プロパティを調べて判断します。 Attributesプロパティの値と、オートナンバー型を表す組み込み定数 dbAutoIncrField とのマスク演算を行い、それが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 = dbLong) And _ (fld.Attributes And dbAutoIncrField) Then MsgBox cstrFieldName & " はオートナンバー型です!" Else MsgBox cstrFieldName & " はオートナンバー型ではありません!" End If rst.Close |
|||
|
Copyright © T'sWare All rights reserved |