hi I have a combobox with status and a qry in which the status is a calculated field. I am trying to filter using -1 and 0 dependant on if it is selected or not. But it does not work for CLOSED or AUTHORISED, but works for OPEN and OVERDUE. I cant see the wood through the trees. if someone could help me thanks.
SELECT tblInvestigations.[No], tblInvestigations.[Date Logged], tblInvestigations.Investigator, tblInvestigations.Section, tblInvestigations.Source, tblInvestigations.Method, tblInvestigations.Ref1, tblInvestigations.Ref2, tblInvestigations.Issue, tblInvestigations.[Root Cause], tblInvestigations.[Due Date], tblInvestigations.Analyst, tblInvestigations.Technical, tblInvestigations.Closed, IIf([ClosedTest]=-1,"CLOSED",IIf([TechnicalTest]=-1 And [ClosedTest]=0,"AUTHORISED",IIf([TechnicalTest]=0 And [AnalystTest]=-1 And [ClosedTest]=0,"COMPLETE",IIf([AnalystTest]=-1 And [TechnicalTest]=-1 And [ClosedTest]=0,"AUTHORISED",IIf([TechnicalTest]=0 And [AnalystTest]=0 And [ClosedTest]=0 And [OverdueTest]=-1,"OVERDUE",IIf([OpenTest]=-1,"OPEN")))))) AS Status, tblInvestigations.Notes, tblInvestigations.[Evidence Only], IIf([Due Date]<Date(),True,False) AS OverdueTest, IIf(IsNull([Analyst]),False,True) AS AnalystTest, IIf(IsNull([Technical]),False,True) AS TechnicalTest, IIf(IsNull([Closed]),False,True) AS ClosedTest, IIf(IsNull([Analyst]) And ([Due Date]>=Date()),True,False) AS OpenTest
FROM tblInvestigations
WHERE (((IIf([Due Date]<Date(),True,False))=IIf([Forms]![frmMain]![Status]="OVERDUE",-1,0)) AND ((IIf(IsNull([Analyst]),False,True))=IIf([Forms]![frmMain]![Status]="COMPLETE",-1,0)) AND ((IIf(IsNull([Technical]),False,True))=IIf([Forms]![frmMain]![Status]="AUTHORISED",-1,0)) AND ((IIf(IsNull([Closed]),False,True))=IIf([Forms]![frmMain]![Status]="CLOSED",-1,0)) AND ((IIf(IsNull([Analyst]) And ([Due Date]>=Date()),True,False))=IIf([Forms]![frmMain]![Status]="OPEN",-1,0)) AND ((IIf(IsNull([Forms]![frmMain]![Source]),True,[tblInvestigations].[Source]=[Forms]![frmMain]![Source]))<>False) AND ((IIf(IsNull([Forms]![frmMain]![No]),True,[tblInvestigations].[No]=[Forms]![frmMain]![No]))<>False) AND ((IIf(IsNull([Forms]![frmMain]![Ref1]),True,[tblInvestigations].[Ref1]=[Forms]![frmMain]![Ref1]))<>False) AND ((IIf(IsNull([Forms]![frmMain]![Method]),True,[tblInvestigations].[Method]=[Forms]![frmMain]![Method]))<>False) AND ((IIf(IsNull([Forms]![frmMain]![Section]),True,[tblInvestigations].[Section]=[Forms]![frmMain]![Section]))<>False));
SELECT tblInvestigations.[No], tblInvestigations.[Date Logged], tblInvestigations.Investigator, tblInvestigations.Section, tblInvestigations.Source, tblInvestigations.Method, tblInvestigations.Ref1, tblInvestigations.Ref2, tblInvestigations.Issue, tblInvestigations.[Root Cause], tblInvestigations.[Due Date], tblInvestigations.Analyst, tblInvestigations.Technical, tblInvestigations.Closed, IIf([ClosedTest]=-1,"CLOSED",IIf([TechnicalTest]=-1 And [ClosedTest]=0,"AUTHORISED",IIf([TechnicalTest]=0 And [AnalystTest]=-1 And [ClosedTest]=0,"COMPLETE",IIf([AnalystTest]=-1 And [TechnicalTest]=-1 And [ClosedTest]=0,"AUTHORISED",IIf([TechnicalTest]=0 And [AnalystTest]=0 And [ClosedTest]=0 And [OverdueTest]=-1,"OVERDUE",IIf([OpenTest]=-1,"OPEN")))))) AS Status, tblInvestigations.Notes, tblInvestigations.[Evidence Only], IIf([Due Date]<Date(),True,False) AS OverdueTest, IIf(IsNull([Analyst]),False,True) AS AnalystTest, IIf(IsNull([Technical]),False,True) AS TechnicalTest, IIf(IsNull([Closed]),False,True) AS ClosedTest, IIf(IsNull([Analyst]) And ([Due Date]>=Date()),True,False) AS OpenTest
FROM tblInvestigations
WHERE (((IIf([Due Date]<Date(),True,False))=IIf([Forms]![frmMain]![Status]="OVERDUE",-1,0)) AND ((IIf(IsNull([Analyst]),False,True))=IIf([Forms]![frmMain]![Status]="COMPLETE",-1,0)) AND ((IIf(IsNull([Technical]),False,True))=IIf([Forms]![frmMain]![Status]="AUTHORISED",-1,0)) AND ((IIf(IsNull([Closed]),False,True))=IIf([Forms]![frmMain]![Status]="CLOSED",-1,0)) AND ((IIf(IsNull([Analyst]) And ([Due Date]>=Date()),True,False))=IIf([Forms]![frmMain]![Status]="OPEN",-1,0)) AND ((IIf(IsNull([Forms]![frmMain]![Source]),True,[tblInvestigations].[Source]=[Forms]![frmMain]![Source]))<>False) AND ((IIf(IsNull([Forms]![frmMain]![No]),True,[tblInvestigations].[No]=[Forms]![frmMain]![No]))<>False) AND ((IIf(IsNull([Forms]![frmMain]![Ref1]),True,[tblInvestigations].[Ref1]=[Forms]![frmMain]![Ref1]))<>False) AND ((IIf(IsNull([Forms]![frmMain]![Method]),True,[tblInvestigations].[Method]=[Forms]![frmMain]![Method]))<>False) AND ((IIf(IsNull([Forms]![frmMain]![Section]),True,[tblInvestigations].[Section]=[Forms]![frmMain]![Section]))<>False));