Ciao a tutti, eccomi nuovamente quì a cercare di risolvere un problema che nel mio post precedente pensavo di avere risolto, ma a seguito di una accurata analisi ho riscontrato invece delle perdite di dati.
Credo ci sia quasi sicuramente un errore a livello di parentesi, ma se così non fosse, vi prego di aiutarmi a trovare l'errore. vi spiego nel dettaglio cosa deve fare la query in questione:
1) Ho un form per la stampa delle etichette, in cui inserisco 3 parametri e più precisamente:
A - "Codice Tipo Cliente" = In tabella "Clienti.TiCli"; nel form "TiCliNOM"
B - "Dal Nome" = Clienti.Denominazione; nel form "NomeInizioNOM"
C - "Al Nome" = Clienti.Denominazione; nel form "NomeFineNOM"
2) Con questi 3 parametri, devo anche controllare i seguenti valori:
A - Che il "Flag Spedizione" = Clienti.Spedizione sia impostato a "Sì" (-1)
B - Che il "Flag Stampato" = Clienti.Flag_PRN_NOM sia = "No" (0)
Inizialmente, ho usato la clausola "Between" che funziona benissimo a livello di date, ma non a livello di testo, in quanto se stampo dalla lettera A alla lettera Z, perdo tutti i nominativi con la Z. Ho quindi utilizzato la clausola Like, nel modo riportato di seguito:
SELECT Clienti.*
FROM Clienti
WHERE (((Clienti.Codice_TiCli) Is Not Null And (Clienti.Codice_TiCli)=Forms![Etichette Clienti]!TiCliNOM) And (((Clienti.Denominazione) Like Forms![Etichette Clienti]!NomeInizioNOM & "*") Or ((Clienti.Denominazione) Like Forms![Etichette Clienti]!NomeFineNOM & "*")) And (Clienti.Spedizione=-1) And (Clienti.Flag_PRN_NOM=0))
ORDER BY Clienti.Denominazione;
Credo di avere spiegato nel migliore dei modi il mio problema, ma se così non fosse chiedetemi pure spiegazioni in merito.
Grazie
Fabio