Salve a tutti e grazie in anticipo.
Ho realizzato un piccolo db per la catalogazione di documenti. Per facilitare il lavoro di ricerca su una grande mole di dati, sto cercando di realizzare una query unica, supportata da apposita maschera, per la ricerca dei dati.
La query contiene i seguenti campi: id, tipo_documento, nominativo, data documento, numero, importo, gruppo, sottogruppo, fascicolo.
Ho creato la maschera impostandola in questo modo, ogni campo ha una propria checkbox, che attiva la textbox corrispondente. Di default le textbox hanno come valore "*". I campi tipo, nominativo, gruppo, sottogruppo e fascicolo, sono caselle combinate i cui dati sono presi da apposite tabelle.
I criteri della data e dell'importo funzionano correttamente.
Ho provato a realizzare quello dell'id e l'ho impostato in questo modo:
codice:
Like IIf([Forms]![Ricerca]![id_n] = "*"; "*"; [Forms]![Ricerca]![id_n])
quando lascio il valore di default, mi visualizza tutti i campi; quando scrivo un numero, mi visualizza il record corrispondente. Tutto perfetto.
Inserisco lo stesso criterio, cambiando i campi, per il tipo, e tutto funziona ancora.
Quando provo ad inserire invece il nominativo o qualsiasi altro campo non funge.
Non riesco a spiegarmi il perchè, dove sbaglio, spero qualcuno mi possa dare una mano.
Grazie in anticipo, spero di essere stato chiaro
PS: ecco il codice SQL della query
codice:
SELECT protocollo.IDProtocollo, protocollo.[Data Registrazione], protocollo.[Tipo Documento], protocollo.Nominativo, protocollo.Descrizione, protocollo.[Data Documento], protocollo.Numero, protocollo.Importo, protocollo.Scadenza, protocollo.Priorità, protocollo.[Data Scadenza], protocollo.Gruppo, protocollo.Sottogruppo, protocollo.Fascicolo, protocollo.Allegato, protocollo.Collegamento, protocollo.Note
FROM protocollo
WHERE (((protocollo.IDProtocollo) Like IIf([Forms]![Ricerca_all]![id_n]="*",'*',[Forms]![Ricerca_all]![id_n])) AND ((protocollo.[Data Registrazione])>[Forms]![Ricerca_all]![reg_date_start] And (protocollo.[Data Registrazione])<[Forms]![Ricerca_all]![reg_date_end]) AND ((protocollo.[Tipo Documento]) Like IIf([Forms]![Ricerca_all]![tipo_txt]="",'*',[Forms]![Ricerca_all]![tipo_txt])) AND ((protocollo.Nominativo) Like IIf([Forms]![Ricerca_all]![nom_txt]="",'*',[Forms]![Ricerca_all]![nom_txt])) AND ((protocollo.[Data Documento])>[Forms]![Ricerca_all]![doc_date_start] And (protocollo.[Data Documento])<[Forms]![Ricerca_all]![doc_date_end]) AND ((protocollo.Numero) Like IIf([Forms]![Ricerca_all]![n_n]="",'*',[Forms]![Ricerca_all]![n_n])) AND ((protocollo.Importo)>[Forms]![Ricerca_all]![importo_min] And (protocollo.Importo)<[Forms]![Ricerca_all]![importo_max]) AND ((protocollo.Gruppo) Like IIf([Forms]![Ricerca_all]![gr_txt]="",'*',[Forms]![Ricerca_all]![gr_txt])) AND ((protocollo.Sottogruppo) Like IIf([Forms]![Ricerca_all]![sg_txt]="",'*',[Forms]![Ricerca_all]![sg_txt])) AND ((protocollo.Fascicolo) Like IIf([Forms]![Ricerca_all]![fasc_txt]="",'*',[Forms]![Ricerca_all]![fasc_txt])));