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 从SQL Where条件创建查询_Ms Access_Vba - Fatal编程技术网

Ms access 从SQL Where条件创建查询

Ms access 从SQL Where条件创建查询,ms-access,vba,Ms Access,Vba,我想基于同一表单中上一条语句中的Where条件创建一个查询,但运行按钮时未创建该查询 大概是这样的: Dim qdf As QueryDef strSql = "SELECT * FROM qryEvents WHERE strWhere" 'Delete the query if it already exists DoCmd.DeleteObject acQuery, "qryEvents_Search" Set qdf = CurrentDb.CreateQueryDef("qryE

我想基于同一表单中上一条语句中的Where条件创建一个查询,但运行按钮时未创建该查询

大概是这样的:

Dim qdf As QueryDef

strSql = "SELECT * FROM qryEvents WHERE strWhere"

'Delete the query if it already exists
DoCmd.DeleteObject acQuery, "qryEvents_Search"

Set qdf = CurrentDb.CreateQueryDef("qryEvents_Search", strWhere)
DoCmd.OpenQuery "qryEvents_Search"

'release memory
qdf.Close
Set qdf = Nothing
其中条件部分为:

If Len(strWhere) > 0 Then
If Nz(DCount("*", "qryEvents", Left(strWhere, Len(strWhere) - 0)), 0) > 0 Then
strWhere = "WHERE " & Left(strWhere, Len(strWhere) - 0)
strSQL = "SELECT * FROM qryEvents " & strWhere & ";"

WHERE子句不进行查询。您也需要选择零件

e、 g


请在使用代码时共享代码。在顶部,您正在构造
strSql
,但随后仅将
strWhere
传递给
CreateQueryDef
,并产生了更多错误,底部对我来说更不清楚。
strNewSql = "SELECT * FROM otherEvents " & strWhere
Set qdf = CurrentDb.CreateQueryDef("qryEvents_Search", strNewSql)