'---------------------------------------------------------------------------------------
' Procedure : GetFieldDataTypeName
' DateTime  : 11/20/2008
' Author    : Patrick Wood
' Purpose   : Get the DataType
' Arguments : lngDataType: The Constant Number
' Usage     : When geting DAO Field Type Property values which are returned as
'           : numbers change the number to a Constant Name you can understand:
'           : strfldType = GetFieldDataTypeName(fld.Properties("Type").Value)
'---------------------------------------------------------------------------------------
'
Function GetFieldDataTypeName(lngDataType As LongAs String
 
    Dim strDataType As String
 
    Select Case lngDataType
        Case Is = 1
            strDataType = "dbBoolean"
        Case Is = 2
            strDataType = "dbByte"
        Case Is = 3
            strDataType = "dbInteger"
        Case Is = 4
            strDataType = "dbLong"
        Case Is = 5
            strDataType = "dbCurrency"
        Case Is = 6
            strDataType = "dbSingle"
        Case Is = 7
            strDataType = "dbDouble"
        Case Is = 8
            strDataType = "dbDate"
        Case Is = 9
            strDataType = "dbBinary"
        Case Is = 10
            strDataType = "dbText"
        Case Is = 11
            strDataType = "dbLongBinary"
        Case Is = 12
            strDataType = "dbMemo"
        Case Is = 15
            strDataType = "dbGUID"
        Case Is = 16
            strDataType = "dbBigInt"
        Case Is = 17
            strDataType = "dbVarBinary"
        Case Is = 18
            strDataType = "dbChar"
        Case Is = 19
            strDataType = "dbNumeric"
        Case Is = 20
            strDataType = "dbDecimal"
        Case Is = 21
            strDataType = "dbFloat"
        Case Is = 22
            strDataType = "dbTime"
        Case Is = 23
            strDataType = "dbTimeStamp"
        Case Is = 101
            strDataType = "dbAttachment"
        Case Is = 102
            strDataType = "dbComplexByte"
        Case Is = 103
            strDataType = "dbComplexInteger"
        Case Is = 104
            strDataType = "dbComplexLong"
        Case Is = 105
            strDataType = "dbComplexSingle"
        Case Is = 106
            strDataType = "dbComplexDouble"
        Case Is = 107
            strDataType = "dbComplexGUID"
        Case Is = 108
            strDataType = "dbComplexDecimal"
        Case Is = 109
            strDataType = "dbComplexText"
        Case Else
            MsgBox "DataType not found."
    End Select
 
        GetFieldDataTypeName = strDataType
 
End Function

 
'---------------------------------------------------------------------------------------
' Procedure : GetFieldDataTypeNo
' DateTime  : 11/20/2008 22:54
' Author    : Patrick Wood
' Purpose   : Get the Constant Number--helpful for Automation of Access
' Arguments : strDataType: The Constant Type string
'           : Use GetFieldDataTypeNo to verify if a Field is the right DataType:
'           : If fld.Type = GetFieldDataTypeNo("dbLong") Then
'           :    ' Your code here
'           : End If
'---------------------------------------------------------------------------------------
'
Function GetFieldDataTypeNo(strDataType As StringAs Long
 
    Dim lngDataType As Long
 
    Select Case strDataType
        Case Is = "dbBoolean"
            lngDataType = 1
        Case Is = "dbByte"
            lngDataType = 2
        Case Is = "dbInteger"
            lngDataType = 3
        Case Is = "dbLong"
            lngDataType = 4
        Case Is = "dbCurrency"
            lngDataType = 5
        Case Is = "dbSingle"
            lngDataType = 6
        Case Is = "dbDouble"
            lngDataType = 7
        Case Is = "dbDate"
            lngDataType = 8
        Case Is = "dbBinary"
            lngDataType = 9
        Case Is = "dbText"
            lngDataType = 10
        Case Is = "dbLongBinary"
            lngDataType = 11
        Case Is = "dbMemo"
            lngDataType = 12
        Case Is = "dbGUID"
            lngDataType = 15
        Case Is = "dbBigInt"
            lngDataType = 16
        Case Is = "dbVarBinary"
            lngDataType = 17
        Case Is = "dbChar"
            lngDataType = 18
        Case Is = "dbNumeric"
            lngDataType = 19
        Case Is = "dbDecimal"
            lngDataType = 20
        Case Is = "dbFloat"
            lngDataType = 21
        Case Is = "dbTime"
            lngDataType = 22
        Case Is = "dbTimeStamp"
            lngDataType = 23
        Case Is = "dbAttachment"
            lngDataType = 101
        Case Is = "dbComplexByte"
            lngDataType = 102
        Case Is = "dbComplexInteger"
            lngDataType = 103
        Case Is = "dbComplexLong"
            lngDataType = 104
        Case Is = "dbComplexSingle"
            lngDataType = 105
        Case Is = "dbComplexDouble"
            lngDataType = 106
        Case Is = "dbComplexGUID"
            lngDataType = 107
        Case Is = "dbComplexDecimal"
            lngDataType = 108
        Case Is = "dbComplexText"
            lngDataType = 109
        Case Else
            MsgBox "DataType not found."
    End Select
 
    GetFieldDataTypeNo = lngDataType
 
End Function