Ms access MS Access Vb如何构建文本字符串以引用Vb和SQL查询中的动态列,然后使用Eval函数执行该文本字符串
在以下示例中,POOPTrst是引用Vb SQL查询或语句的DAO记录集(系统对象)。此代码返回“运行时错误2482”和/或“Microsoft Access找不到您在表达式中输入的名称‘POOPTrst’”(注:POOPTVal变量包含日期) 在下面的示例中,其中POOPTrst是一个引用Vb SQL查询的DAO记录集。此代码返回“运行时错误3256”和/或“在此集合中找不到项”(注意:变量POOPTLAL周围有或没有括号) 如果我删除Eval函数和POOPT date变量,并在代码中键入文字字符,我会得到正确的/预期的返回值和/或响应(注意:问题是1/5/2009是在运行时计算的动态值)Ms access MS Access Vb如何构建文本字符串以引用Vb和SQL查询中的动态列,然后使用Eval函数执行该文本字符串,ms-access,vba,Ms Access,Vba,在以下示例中,POOPTrst是引用Vb SQL查询或语句的DAO记录集(系统对象)。此代码返回“运行时错误2482”和/或“Microsoft Access找不到您在表达式中输入的名称‘POOPTrst’”(注:POOPTVal变量包含日期) 在下面的示例中,其中POOPTrst是一个引用Vb SQL查询的DAO记录集。此代码返回“运行时错误3256”和/或“在此集合中找不到项”(注意:变量POOPTLAL周围有或没有括号) 如果我删除Eval函数和POOPT date变量,并在代码中键入文字
POOPTWkDmd(POOPTCounterInt) = POOPTrst![1/5/2009]
使用以下语法:rs(“Fieldname”)
而不是rs!Fieldname
POOPTVal = "1/5/2009"
POOPTWkDmd = POOPTrst(POOPTVal)
有关更多解释,请参见此答案:使用以下语法:rs(“Fieldname”)
而不是rs!Fieldname
POOPTVal = "1/5/2009"
POOPTWkDmd = POOPTrst(POOPTVal)
有关更多解释,请参见此答案:一个问题是
Eval()
对VBA变量或记录集等对象一无所知。如果要使用这些变量或对象,请生成一个包含其值的字符串,并将该字符串赋予Eval()
但是,我不确定您在这里应该使用的是
Eval()
。似乎您希望引用POOPTrst
记录集中某个字段的值,并使用一个变量来保存该字段名。如果这是正确的,请将该变量与记录集的字段一起使用:POOPTrst.Fields(POOPTVal).Value
一个问题是Eval()
对VBA变量或对象(如记录集)一无所知。如果要使用这些变量或对象,请生成一个包含其值的字符串,并将该字符串赋予Eval()
但是,我不确定您在这里应该使用的是Eval()
。似乎您希望引用POOPTrst
记录集中某个字段的值,并使用一个变量来保存该字段名。如果这是正确的,请将该变量与记录集的字段一起使用:POOPTrst.Fields(POOPTVal).Value
您用来编写代码的IDE到底是什么???MS Access Vb Module Environment那么它不是MySql,也不是Vb.NET。这些标记包括何时使用以及何时不出错的说明和说明……我是stackoverflow新手,我认为这些是默认标记。实际上,您用来编写代码的IDE是什么代码???MS Access Vb Module Environment则它不是MySql,也不是Vb.NET。标记包括何时使用以及何时不出错的说明和说明……我是stackoverflow新手,我认为这些是默认标记
POOPTVal = "1/5/2009"
POOPTWkDmd = POOPTrst(POOPTVal)