Visual Basic - 检查If语句中的记录集字段类型

时间:2012-11-28 21:58:33

标签: vba ms-access types

我正在尝试检查表中字段的数据类型,如果代码是Text类型,则代码执行一项操作,如果代码是任何其他类型,则执行另一项操作。下面是我的代码,但我认为我没有正确的第三行。任何帮助将不胜感激!

Set dbExample = CurrentDb
Set rsTester = dbExample.OpenRecordset("tester", dbOpenDynaset)
If TypeOf rsTester!exampleField Is Text Then
    'Does what the code needs to do
Else
    'Does what the code needs to do
End If
rsTester.Close

2 个答案:

答案 0 :(得分:4)

TypeOf未与DAO Field对象一起使用。你想做的更像是

If rsTester("exampleField").Type = dbText Then
    ' do the thing
Else
    ' do the other thing
End Select

答案 1 :(得分:0)

您可以在TableDef对象中测试字段的Type属性。

Dim db As DAO.Database
Dim td As DAO.TableDef

Set db = CurrentDb
With db.TableDefs("Factures")
    Debug.Print .Fields("nofact").Type
End With