查询表达式中与函数一起使用的参数数量错误

Wrong Number of Arguments Used With Function in Query Expression

我在 Access 2010 中有一个由其他人编写的 SQL,当我尝试 运行 它时会出现错误的参数数量错误。它应该从搜索页面过滤报告。

    SELECT Activity.[ProjNo], Activity.[Code], Activity.[Type], Activity.[ProjNoStatus], 
           Activity.[Preliminary], Activity.[Planner], Activity.[Designer],  
           Activity.[Officer], Activity.[Manager], Activity.[Staff], Activity.[Analyst], 
           Activity.[Manager], Activity.[DeptHead], Activity.[ContractNumber], 
           Activity.[InfoOfficer],Activity.[ProjNoDesigner]
    FROM Activity
    WHERE Activity.ProjNo=Index.ProjNo AND (((IIf([Forms]![SearchForm]![txtCode]="",
          "*",[Activity].[Code]=[Forms]![SearchForm]![txtCode]))<>False) 
          AND ((IIf([Forms]![SearchForm]![txtType]="","*",[Activity].[ Type]="", 
          "*", [Activity].[Type]=[Forms]![SearchForm]![txtType]))<>False) AND 
          ((IIf([Forms]![SearchForm]![txtProjNoStatus]="","*",
          [Activity].[ProjNoStatus]<=[Forms]![SearchForm]![txtProjNoStatus]))<>False));

我对 SQL 不是很有经验,就像我说的,我没有写这段代码(写代码的人早已退休)所以任何帮助都会很好。

该查询只定义了一个数据源(table 或查询):

FROM Activity

但是 WHERE 子句似乎引用了另一个名为 Index:

的数据源
WHERE Activity.ProjNo=Index.ProjNo

由于 Index 未包含在 FROM 子句中,因此当您尝试在 WHERE 子句中使用它时,Access 将反对。

但是,我不确定这是 Access 抱怨的第一个错误的原因。向我们显示该错误消息的全文可能会有所帮助。