Hi, I have a form where I'm using a combo box as a filter to pass multiple filter criteria based on the combo box selection. I created a field in the form's query that is using the combobox value in an if statement (bolded below) to filter the form. The problem is that my code for the "Filter" field has gotten so long that it is getting truncated automatically by access. Is there a different/better way to accomplish the filtering of my form (possibly putting the combo box values into a table)? I have limited experience with VBA, but willing to give it a shot if necessary. Here's the SQL-
SELECT Initiatives.InitiativeID, Initiatives.Initiative, Initiatives.AOR, Initiatives.MemberName, Milestones.Comments, Milestones.Deliverable, Initiatives.TechnicallyCompleteDate, Milestones.ReportType, Milestones.DueDate, Milestones.ReceivedDate, IIf([Combo425] Is Null,1,IIf([Combo425]="Not Submitted" And [ReportInitialReceipt] Is Null,1,IIf([Combo425]="Rev to Draft" And (([ProgramIssues] Is Not Null And [ProgramIssueResolved] is Null) Or ([ContractIssues] Is Not Null And [ContractIssueResolved] is Null)) And [RevisionRequestDrafted] Is Null,1,IIf([Combo425]="Rev Req to Send" And [RevisionRequestDrafted] Is Not Null And [RevisionRequestSent] Is Null,1,IIf([Combo425]="Need to Send to AOR" And [ReportInitialReceipt] Is Not Null And [ReportSentToAOR] Is Null,1,IIf([Combo425]="Awtg Program Rvw" And [ReportInitialReceipt] Is Not Null And ([ProgramIssueResolved] Is Null Or [ProgramIssues] Is Null),1,IIf([Combo425]="Awtg Contract Rvw" And [ReportInitialReceipt] Is Not Null And ([ContractIssueResolved] Is Null Or [ContractIssues] Is Null),1,IIf([Combo425]="Awtg Rev" And [RevisionReceived] Is Null And [RevisionRequestSent] Is Not Null,1,IIf([Combo425]="Acceptable" And ([ProgramIssueResolved] Is Not Null And [ContractIssueResolved] Is Not Null Or [ReportAcceptable] Is Not Null),1,2))))))))) AS Filter, Milestones.ReportInitialReceipt, Milestones.ReportSentToAOR, Milestones.ReportComments, Milestones.ProgramIssues, Milestones.ProgramIssueResolved, Milestones.ContractIssues, Milestones.ContractIssueResolved, Milestones.RevisionRequestDrafted, Milestones.RevisionRequestSent, Milestones.RevisionReceived, Milestones.ReportAcceptable
FROM Initiatives LEFT JOIN Milestones ON Initiatives.InitiativeID = Milestones.InitiativeID
WHERE (((Initiatives.TechnicallyCompleteDate) Is Null) AND ((Milestones.ReportType)="quarterly" Or (Milestones.ReportType)="annual" Or (Milestones.ReportType)="Unsch. Annual" Or (Milestones.ReportType)="Unsch. Qrtly") AND ((Milestones.DueDate) Between [Forms]![QuarterlyReportsWorking]![DueDateBegin] And [Forms]![QuarterlyReportsWorking]![DueDateEnd]) AND ((IIf([Combo425] Is Null,1,IIf([Combo425]="Not Submitted" And [ReportInitialReceipt] Is Null,1,IIf([Combo425]="Rev to Draft" And (([ProgramIssues] Is Not Null And [ProgramIssueResolved] is Null) Or ([ContractIssues] Is Not Null And [ContractIssueResolved] is Null)) And [RevisionRequestDrafted] Is Null,1,IIf([Combo425]="Rev Req to Send" And [RevisionRequestDrafted] Is Not Null And [RevisionRequestSent] Is Null,1,IIf([Combo425]="Need to Send to AOR" And [ReportInitialReceipt] Is Not Null And [ReportSentToAOR] Is Null,1,IIf([Combo425]="Awtg Program Rvw" And [ReportInitialReceipt] Is Not Null And ([ProgramIssueResolved] Is Null Or [ProgramIssues] Is Null),1,IIf([Combo425]="Awtg Contract Rvw" And [ReportInitialReceipt] Is Not Null And ([ContractIssueResolved] Is Null Or [ContractIssues] Is Null),1,IIf([Combo425]="Awtg Rev" And [RevisionReceived] Is Null And [RevisionRequestSent] Is Not Null,1,IIf([Combo425]="Acceptable" And ([ProgramIssueResolved] Is Not Null And [ContractIssueResolved] Is Not Null Or [ReportAcceptable] Is Not Null),1,2)))))))))=1) AND ((Milestones.ReportInitialReceipt)<=[TechnicallyCompleteDate]));
Thank you in advance for your help!! Matt