Cosa c'è di sbagliato:

SELECT * FROM Tab WHERE data < #" & oggi & "# AND (campo1 <> 'lez' OR campo1 <> 'cor' OR campo1 <> 'man' OR campo1 <> 'nav') ORDER by data, id

Se al posto di <> metto = (l'inverso) funziona mentre con il non-uguale mi mostra tutti i campi come se tutto quello tra parentesi non ci fosse.

grazie