Newsgroup: it.comp.appl.access
Titolo: [Aiuto] Query generica su tutti i campi tipo motori di ricerca

Salve a tutti,
Vorrei impostare una query tipo quella dei motori di ricerca su internet,
dove cioè uno può scrivere liberamente una serie di parole e scegliere un
bottone che indica se esse devono essere legate da AND o OR.
La query dovrebbe cercare l'occorrenza delle chiavi in QUALSIASI campo (ne
ho una decina).
Io per ora ho scritto qualche riga di codice che individua e separa le varie
parole immesse ("Prima chiave", "Seconda chiave", .....)
Il mio problema è che la query di ricerca che riesco a formare per la
ricerca di SOLO due chiavi in tutti i campi è lunghissima, quindi non penso
di aver individuato la strada giusta, specie perchè non vedo la possibilità
di generalizzarla per un numero imprecisato di parole da cercare.
SELECT [Laboratori/Gruppi di ricerca].[Laboratorio/Gruppo di ricerca],
[Laboratori/Gruppi di ricerca].[Dipartimento di appartenenza],
[Laboratori/Gruppi di ricerca].[Aree di ricerca scientifica],
[Laboratori/Gruppi di ricerca].[Prove a normativa], [Laboratori/Gruppi di
ricerca].[Settori tecnologici di applicazione], [Laboratori/Gruppi di
ricerca].[Persone coinvolte], [Laboratori/Gruppi di ricerca].[Aree di
competenza], [Laboratori/Gruppi di ricerca].[Apparecchiature disponibili], *
FROM [Laboratori/Gruppi di ricerca]
WHERE ((([Laboratori/Gruppi di ricerca].[Laboratorio/Gruppo di ricerca])
Like "*"+"Primachiave"+"*" Or ([Laboratori/Gruppi di
ricerca].[Laboratorio/Gruppo di ricerca]) Like "*"+"Secondachiave"+"*")) OR
((([Laboratori/Gruppi di ricerca].[Dipartimento di appartenenza]) Like
"*"+"Primachiave"+"*" Or ([Laboratori/Gruppi di ricerca].[Dipartimento di
appartenenza]) Like "*"+"Secondachiave"+"*")) OR ((([Laboratori/Gruppi di
ricerca].[Aree di ricerca scientifica]) Like "*"+"Primachiave"+"*" Or
([Laboratori/Gruppi di ricerca].[Aree di ricerca scientifica]) Like
"*"+"Secondachiave"+"*")) OR ((([Laboratori/Gruppi di ricerca].[Prove a
normativa]) Like "*"+"Primachiave"+"*" Or ([Laboratori/Gruppi di
ricerca].[Prove a normativa]) Like "*"+"Secondachiave"+"*")) OR
((([Laboratori/Gruppi di ricerca].[Settori tecnologici di applicazione])
Like "*"+"Primachiave"+"*" Or ([Laboratori/Gruppi di ricerca].[Settori
tecnologici di applicazione]) Like "*"+"Secondachiave"+"*")) OR
((([Laboratori/Gruppi di ricerca].[Persone coinvolte]) Like
"*"+"Primachiave"+"*" Or ([Laboratori/Gruppi di ricerca].[Persone
coinvolte]) Like "*"+"Secondachiave"+"*")) OR ((([Laboratori/Gruppi di
ricerca].[Aree di competenza]) Like "*"+"Primachiave"+"*" Or
([Laboratori/Gruppi di ricerca].[Aree di competenza]) Like
"*"+"Secondachiave"+"*")) OR ((([Laboratori/Gruppi di
ricerca].[Apparecchiature disponibili]) Like "*"+"Primachiave"+"*" Or
([Laboratori/Gruppi di ricerca].[Apparecchiature disponibili]) Like
"*"+"Secondachiave"+"*"));
Come potrei risolvere questo problema?
E come posso far comparire un messaggio del tipo "Spiacente, nessun record
soddisfa le condizioni della ricerca" anzichè una maschera bianca quando non
trovo nulla?
MILLE GRAZIE a chi vorrà aiutarmi.
Gradite copie delle risposte anche in email
--
-------------------------------------
Umberto Turini
umbturin...@libero.it
     < NOTA: Rimuovere la scritta CANCELLA

ricerca di SOLO due chiavi in tutti i campi è lunghissima
Se cominciassi con l'usare dei nomi decenti per le tue tabelle ed i
loro campi potresti accorciare la stringa del 98%...
-- 
Ciao,
Giovanni