Solved Return all records in form if combo box is null (1 Viewer)

Uldis007

New member
Local time
Today, 03:53
Joined
Nov 17, 2021
Messages
22
Greetings to all!

I am trying to create a filter (for a form based on a query) using the combobox [StatusSearchBox], but it only works when a parameter is selected, if the combobox is empty the form remains empty. I've tried several options
1) Like "*" & [StatusSearchBox] & "*"
2) [StatusSearchBox] or [StatusSearchBox] is null
3) IIf(IsNull([StatusSearchBox]),True,[StatusSearchBox]=[StatusSearchBox]
but they don't work.
Please help!
Here is the sql of my query
Code:
SELECT RemontaPieteikumi.RemontaPieteikumaNumurs, RemontaPieteikumi.PieteikumaDatums, RemontaPieteikumi.ReģistrācijasNumurs, RemontaPieteikumi.GarāžasNumurs, RemontaPieteikumi.Marka, RemontaPieteikumi.Modelis, RemontaPieteikumi.PieteikumaID, LastPieteikumaStatusQ.LastOfStatuss, Darbinieki.SistēmasLietotājs, [Statusi - ServisiQ_Crosstab].[Gaida tāmēšanu], [Statusi - ServisiQ_Crosstab].Tāmēšanā, [Statusi - ServisiQ_Crosstab].[Gaida servisu], [Statusi - ServisiQ_Crosstab].Servisā
FROM Darbinieki INNER JOIN (((RemontaPieteikumi LEFT JOIN PieteikumaStatus ON RemontaPieteikumi.PieteikumaID = PieteikumaStatus.PieteikumaID) LEFT JOIN LastPieteikumaStatusQ ON RemontaPieteikumi.PieteikumaID = LastPieteikumaStatusQ.PieteikumaID) LEFT JOIN [Statusi - ServisiQ_Crosstab] ON RemontaPieteikumi.PieteikumaID = [Statusi - ServisiQ_Crosstab].PieteikumaID) ON Darbinieki.DarbiniekaID = RemontaPieteikumi.DarbiniekaID
GROUP BY RemontaPieteikumi.RemontaPieteikumaNumurs, RemontaPieteikumi.PieteikumaDatums, RemontaPieteikumi.ReģistrācijasNumurs, RemontaPieteikumi.GarāžasNumurs, RemontaPieteikumi.Marka, RemontaPieteikumi.Modelis, RemontaPieteikumi.PieteikumaID, LastPieteikumaStatusQ.LastOfStatuss, Darbinieki.SistēmasLietotājs, [Statusi - ServisiQ_Crosstab].[Gaida tāmēšanu], [Statusi - ServisiQ_Crosstab].Tāmēšanā, [Statusi - ServisiQ_Crosstab].[Gaida servisu], [Statusi - ServisiQ_Crosstab].Servisā
HAVING (((LastPieteikumaStatusQ.LastOfStatuss)=IIf(IsNull([StatusSearchBox]),True,[StatusSearchBox]=[StatusSearchBox])))
ORDER BY RemontaPieteikumi.RemontaPieteikumaNumurs DESC;
 

Ranman256

Well-known member
Local time
Yesterday, 20:53
Joined
Apr 9, 2015
Messages
4,337
Don’t put the null in the query ,filter in the form.
the form shows all records, then filter:

Code:
if isNull(searchBox) then
    Me.filterOn = false
else
    Me.filter = “[field]=‘“ &  me.searchBox & “‘“
    Me.filterOn = true
end if
 

CJ_London

Super Moderator
Staff member
Local time
Today, 01:53
Joined
Feb 19, 2013
Messages
16,610
have you tried

HAVING LastPieteikumaStatusQ.LastOfStatuss=nz([StatusSearchBox], LastPieteikumaStatusQ.LastOfStatuss)

you might also try using the WHERE clause rather than HAVING

(WHERE clause appears before GROUP BY)

and can you confirm that the StatusSearchBox is actually null and not a zls?
 

arnelgp

..forever waiting... waiting for jellybean!
Local time
Today, 08:53
Joined
May 7, 2009
Messages
19,237
also:
... HAVING LastPieteikumaStatusQ.LastOfStatuss = IIf(IsNull([StatusSearchBox]), LastPieteikumaStatusQ.LastOfStatuss, [StatusSearchBox])
 

Uldis007

New member
Local time
Today, 03:53
Joined
Nov 17, 2021
Messages
22
Thank you all for your response, I really appreciate it.
@ Ranman256 solution was exactly what was needed.
Thanks again and have a nice day
 

Users who are viewing this thread

Top Bottom