我使用基于SQL查询的DAO.recordset(称为rs2)(在MS Access中)。调用记录集中的各个属性可以正常工作,如下所示:
strName = rs2!Name
strDescr = rs2!Descr
我试图想出一个更通用的方法,通过变量引用属性,但没有成功,使用Eval()函数。
这样的事情是否可能?
strAttr = "Name"
strResult = Eval("rs2!" & strAttr)
有任何建议吗?
答案 0 :(得分:4)
Eval()
由Access表达式服务评估。并且该服务对VBA变量没有任何意识,包括对象变量,例如rs2
记录集。
但我认为你不需要像Eval()
这样的东西来获得你想要的东西。使用strAttr
在记录集.Fields
集合中引用该命名字段。
strAttr = "Name"
strResult = rs2.Fields(strAttr).Value