Per chiarezza... prendo a spunto quanto hai scritto che ovviamente lascia margini di ERRORE, e che pertanto modifico per chiarezza differenziando i 2 Campi della Tabella originale
SELECT tabella.campo1, tabella.campo2 AS Filtro
FROM tabella
UNION SELECT "<Tutti>", "*" AS Filtro
FROM tabella
ORDER BY campo
Se Campo1 è un ID numerico... non può funzionare quello che hai fatto... ovvero non puoi aggiungere "<Tutti>" in corrispondenza di un campo Long...!
Dovresti sostituire il tuo predicato così:
SELECT 0 As IDArticolo, "<Tutti>" As DescrArticolo
FROM tbArticoli
UNION SELECT tbArticoli.IDArticolo, tbArticoli.DescrArticolo
FROM tbArticoli;
Poi nel criterio della Query
Like IIF([Forms]![NomeMachera]![NomeCombo]=0; "*"; [Forms]![NomeMachera]![NomeCombo])
Detto questo, io non userei mai questo sistema se non con SOLO 1 Criterio, se i criteri fossero N l'efficienza della Query sarebbe assurda, non solo, nel caso di utilizzo di un RDBMS, non sarebbe Risolvibile lato Server, obbligando il Server a restituire l'intero recordset di dati per affinare poi l'elaborazione del criterio in LOCALE, e questo è assolutamente il modo ERRATO di come si sviluppa.