【发布时间】:2012-03-06 19:00:35
【问题描述】:
我正在尝试从 DAO 记录集中获取数据类型。代码如下:
Public Function EditFormData(frm As Form)
Dim rst As DAO.Recordset
Dim fieldType as DAO.DataTypeEnum
Set rst = frm.RecordsetClone
rst.MoveFirst
fieldType = rst.Fields(0).Type
MsgBox fieldType.ToString
当我尝试运行此程序时,我在 msgbox 中的 fieldType 上收到 Invalid Qualifier 错误,但不知道为什么,因为这是我第一次尝试 Enums。
【问题讨论】:
-
文档声明
Type返回整数结果,而不是枚举。另见:allenbrowne.com/func-06.html -
@TimWilliams 我的理解是返回的整数对应于 DAO.DataTypeEnum 中的数据类型条目,所以我试图获取相应的字符串。但是,您链接到的函数描述了对每个值进行硬编码,并且它是字符串对应的,以便将整数转换回字符串,基本上将内置枚举与该信息分开。我希望避免这样做,但如果没有更简单的方法我可以。谢谢你的链接。
-
VB[A] 中的枚举没有那个方便的“ToString()”方法。在函数中手动编码字符串值并不好玩,但幸运的是有人已经为您完成了......