Vba 在MS Access中,基于表单中的多个组合框查询所有记录
请帮我解决这个问题。我有两个组合框(函数名和年份)。我想根据这些组合框查询结果,如果这些框为空,则显示所有记录。我使用了以下代码,它仅适用于1个组合框:Vba 在MS Access中,基于表单中的多个组合框查询所有记录,vba,database,ms-access,ms-access-2013,Vba,Database,Ms Access,Ms Access 2013,请帮我解决这个问题。我有两个组合框(函数名和年份)。我想根据这些组合框查询结果,如果这些框为空,则显示所有记录。我使用了以下代码,它仅适用于1个组合框: =[Forms]![你的表格]![YourCombo]或[Forms]![你的表格]![YourCombo]为空 当我对第二个组合框应用相同的逻辑时,结果不会显示出来。以下是我使用的代码: FROM Master_DataBase WHERE (((Master_DataBase.Status_of_Project)="Complet
=[Forms]![你的表格]![YourCombo]或[Forms]![你的表格]![YourCombo]为空
当我对第二个组合框应用相同的逻辑时,结果不会显示出来。以下是我使用的代码:
FROM Master_DataBase
WHERE (((Master_DataBase.Status_of_Project)="Completed"))
GROUP BY Master_DataBase.Function, Master_DataBase.Project_Name, Year([Project_Start_Date])
HAVING (((Master_DataBase.Function)=[Forms]![Navigator_Form]![FilterbyFunction])) OR ((([Forms]![Navigator_Form]![FilterbyFunction]) Is Null)) AND
(((Master_DataBase.Function)=[Forms]![Navigator_Form]![FilterbyYear])) OR ((([Forms]![Navigator_Form]![FilterbyYear]) Is Null))
ORDER BY Count(Master_DataBase.Status_of_Project) DESC;
我已附上表格组合框图像供您参考
另附一份(设计视图)供参考:
首先修复错误: 具有(((Master_DataBase.Function)=[Forms]![Navigator_Form]![FilterbyFunction])或(([Forms]![Navigator_Form]![FilterbyFunction])为空)且 (((Master_DataBase.Function)=[Forms]![Navigator_Form]![FilterbyYear])或(([Forms]![Navigator_Form]![FilterbyYear])为空) 到 具有(((Master_DataBase.Function)=[Forms]![Navigator_Form]![FilterbyFunction])或(([Forms]![Navigator_Form]![FilterbyFunction])为空)且 ((年份(主数据库。项目开始日期)=[Forms]![Navigator\u Form]![FilterByear]))或(([Forms]![Navigator\u Form]![FilterByear])为空) 编辑: 我只想将整个表达式简化为:
HAVING Master_DataBase.Function=Nz([Forms]![Navigator_Form]![FilterbyFunction],Master_DataBase.Function)
AND Year(Master_DataBase.Project_Start_Date)=Nz([Forms]![Navigator_Form]![FilterbyYear],Year(Master_DataBase.Project_Start_Date))
它要求将
Master_Database.Year
作为参数,但是,它没有显示确切的结果。您的表字段是否实际称为Year
?这只是一个例子。你必须使用FilterbyYear
应该与之比较的任何字段。我已附上设计视图图像供你参考。实际上,字段名是Project\u Start\u Date。我使用了年份公式,看看我编辑的例子。我可能漏掉了一个括号,在SO编辑器上很难判断,但这应该足够让你接近。它考虑的是函数组合框结果,而不是年份组合框。