HOME > 即効テクニック > AccessVBA > コントロール > フィールドタイプを取得する(イミディエイトウィンドウに出力する)

即効テクニック

コントロール

フィールドタイプを取得する(イミディエイトウィンドウに出力する)

(Access 97)
<Sample>
●詳細●
テーブルのフィールドタイプをイミディエイトウィンドウに出力します。
サンプルでは、テーブル「商品管理」のフィールドタイプを取得しています。
●サンプル●
Sub Sample()
    Dim db  As Database
    Dim tdf As TableDef
    Dim fld As Field
    Dim myFldType As String
    
    Set db = CurrentDb
    Set tdf = db.TableDefs!商品管理
    
    For Each fld In tdf.Fields
        Debug.Print fld.OrdinalPosition & ":" & fld.Name
        
        Select Case fld.Type
            Case dbBoolean
                myFldType = "dbBoolean"
            Case dbByte
                myFldType = "dbByte"
            Case dbInteger
                myFldType = "dbInteger"
            Case dbLong
                myFldType = "dbLong"
            Case dbCurrency
                myFldType = "dbCurrency"
            Case dbSingle
                myFldType = "dbSingle"
            Case dbDouble
                myFldType = "dbDouble"
            Case dbDate
                myFldType = "dbDate"
            Case dbText
                myFldType = "dbText"
            Case Else
                myFldType = "その他のタイプ"
        End Select
        
        Debug.Print "タイプ:" & myFldType & vbCrLf
    Next fld
    
    db.Close
    
End Sub
●補足説明●
(1)イミディエイトウィンドウには次のように出力されます。
1:商品番号
タイプ:dbLong

2:商品名
タイプ:dbText

3:単価
タイプ:dbCurrency

(2)フィールドには次のタイプがあります。
定数     説明 
dbBigInt   BigInteger型(BigInteger) 
dbBinary   バイナリ型(Binary) 
dbBoolean   ブール型(Boolean) 
dbByte    バイト型(Byte) 
dbChar    CHAR型(Char) 
dbCurrency  通貨型(Currency) 
dbDate    日付/時刻型(Date/Time) 
dbDecimal   10進型(Decimal) 
dbDouble   倍精度浮動小数点数型(Double) 
dbFloat    浮動小数点数型(Float) 
dbGUID    GUID型(GUID) 
dbInteger   整数型(Integer) 
dbLong    長整数型(Long) 
dbLongBinary ロングバイナリ型(LongBinary)
         ・・・ OLEオブジェクト型(OLE Object)
dbMemo    メモ型(Memo) 
dbNumeric   Numeric型(Numeric) 
dbSingle   単精度浮動小数点数型(Single) 
dbText    テキスト型(Text) 
dbTime    時刻型(Time) 
dbTimeStamp  タイムスタンプ型(TimeStamp) 
dbVarBinary  可変長バイナリ型(VarBinary)