Ms access 使用group by进行访问时出现数据类型不匹配错误

Ms access 使用group by进行访问时出现数据类型不匹配错误,ms-access,ms-access-2013,Ms Access,Ms Access 2013,我有一个数据库,其中的表如下所示: [身份证],[提交日期],[开放/关闭],[研究人员姓名] 我想要一个查询,告诉我每个调查人员的未决案件和结案案件的数量。我试图使用此查询: 选择[研究者姓名],将(*)计算为总数 从[主表] 其中,[提交日期]介于“开始日期”和“结束日期”之间,[打开/关闭]=-1 [研究人员姓名]分组 但我得到了一个错误,它说:“标准中的数据类型不匹配”。我想这是因为在“调查者姓名”栏中的空值,我尝试使用Nz,但是查询不考虑列名在表达式中的组中。我试过在这里玩,但没用 P

我有一个数据库,其中的表如下所示:

[身份证],[提交日期],[开放/关闭],[研究人员姓名]

我想要一个查询,告诉我每个调查人员的未决案件和结案案件的数量。我试图使用此查询:

选择[研究者姓名],将(*)计算为总数
从[主表]
其中,[提交日期]介于“开始日期”和“结束日期”之间,[打开/关闭]=-1
[研究人员姓名]分组

但我得到了一个错误,它说:“标准中的数据类型不匹配”。我想这是因为在“调查者姓名”栏中的空值,我尝试使用Nz,但是查询不考虑列名在表达式中的组中。我试过在这里玩,但没用


PS:我只写了打开值的查询,如果有一种方法可以同时获得打开值和关闭值,那就太棒了。

如果你想被询问[结束日期]和[开始日期],你应该写

PARAMETERS [end_date] DateTime, [start_date] DateTime;
SELECT [Investigator Name], Count(*) AS Total
FROM [main table]
WHERE [Date Filed] Between [start_date] And [end_date] and [Open/Closed]=-1
GROUP BY [Investigator Name]; 

如果希望将其作为参数查询(并提示输入
start\u date
end\u date
值),则还需要将参数括在方括号中。以下是Access中的查询生成器组合在一起的SQL代码:

PARAMETERS start_date DateTime, end_date DateTime;
SELECT [main table].[Investigator Name], Count([main table].ID) AS Total
FROM [main table]
WHERE ((([main table].[Date Filed]) Between [start_date] And [end_date]) AND (([main table].[Open/Closed])=True))
GROUP BY [main table].[Investigator Name];

start\u date
end\u date
值来自何处?现在它们只是字符串文字(即,实际字符串
“开始日期”
“结束日期”
),而不是日期值),这就是为什么会出现错误。当我尝试运行查询时,它不应该要求我输入值吗?谢谢!我想那是我的问题。