Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.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
Sql msaccessvba中的查询功能_Sql_Ms Access_Vba - Fatal编程技术网

Sql msaccessvba中的查询功能

Sql msaccessvba中的查询功能,sql,ms-access,vba,Sql,Ms Access,Vba,我必须在MS Access VBA中创建一个查询函数,以便在单击命令按钮时可以轻松调用查询。我的函数如下所示: DoCmd.SetWarnings False DoCmd.RunSQL StrSQL1 公共函数fCreateQueries(ByVal strQueryToRun As String)作为字符串 作为字符串的Dim strSQL Dim qryRun As QueryDef '我的sql语句 strSQL1=“从表1中选择性别、TannerSum、Jahr,其中性

我必须在MS Access VBA中创建一个查询函数,以便在单击命令按钮时可以轻松调用查询。我的函数如下所示:

    DoCmd.SetWarnings False
    DoCmd.RunSQL StrSQL1
公共函数fCreateQueries(ByVal strQueryToRun As String)作为字符串
作为字符串的Dim strSQL
Dim qryRun As QueryDef
'我的sql语句
strSQL1=“从表1中选择性别、TannerSum、Jahr,其中性别='1'”
使用CurrentDb
设置qryRun=.CreateQueryDef(strQueryRun,strSQL1)
DoCmd.OpenQuery qryRun.Name
.querydfs.Delete qryRun.Name
以
设置qryRun=Nothing
端函数

我已尝试调用该函数,但它不会运行。

调用该函数时,什么“不会运行”,函数还是查询

如果查询失败,我将执行以下类型的查询:

    DoCmd.SetWarnings False
    DoCmd.RunSQL StrSQL1

删除所有“with CurrentDB”并使用这两行。

为什么要打开一个查询,然后在下一行中删除它?为什么要定期创建/删除?SQL不是动态的,因此建议不要保存为存储查询。