Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access MS Access Vb如何构建文本字符串以引用Vb和SQL查询中的动态列,然后使用Eval函数执行该文本字符串_Ms Access_Vba - Fatal编程技术网

Ms access MS Access Vb如何构建文本字符串以引用Vb和SQL查询中的动态列,然后使用Eval函数执行该文本字符串

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变量,并在代码中键入文字

在以下示例中,POOPTrst是引用Vb SQL查询或语句的DAO记录集(系统对象)。此代码返回“运行时错误2482”和/或“Microsoft Access找不到您在表达式中输入的名称‘POOPTrst’”(注:POOPTVal变量包含日期)

在下面的示例中,其中POOPTrst是一个引用Vb SQL查询的DAO记录集。此代码返回“运行时错误3256”和/或“在此集合中找不到项”(注意:变量POOPTLAL周围有或没有括号)

如果我删除Eval函数和POOPT date变量,并在代码中键入文字字符,我会得到正确的/预期的返回值和/或响应(注意:问题是1/5/2009是在运行时计算的动态值)

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)