使用带有DAO.Recordset的Eval() - 可能吗?

时间:2014-02-06 22:27:04

标签: vba ms-access access-vba

我使用基于SQL查询的DAO.recordset(称为rs2)(在MS Access中)。调用记录集中的各个属性可以正常工作,如下所示:

strName = rs2!Name
strDescr = rs2!Descr

我试图想出一个更通用的方法,通过变量引用属性,但没有成功,使用Eval()函数。

这样的事情是否可能?

strAttr = "Name"
strResult = Eval("rs2!" & strAttr)

有任何建议吗?

1 个答案:

答案 0 :(得分:4)

Eval()由Access表达式服务评估。并且该服务对VBA变量没有任何意识,包括对象变量,例如rs2记录集。

但我认为你不需要像Eval()这样的东西来获得你想要的东西。使用strAttr在记录集.Fields集合中引用该命名字段。

strAttr = "Name"
strResult = rs2.Fields(strAttr).Value