Newsgroup: it.comp.appl.access
Titolo: Giusta query per criteri di ricerca multipli

Ciao a tutti voi grandi sapienti di Access,
ho un problema che non riesco a risolvere; devo creare un db per
l'archiviazione e le ricerca di articoli scientifici e l'esigenza degli
utenti è quella di inserire per ogni articolo oltre al titolo, autore,
numero, ecc... ben 10 parole chiave che illustrino il contenuto
dell'articolo stesso. Ora, nella tabella che contiene un record per ogni
articolo posso tranquillamente inserire 10 campi (keyword1, keyword2...), ma
un grosso problema mi si pone in fase di interrogazione dei dati. Nella form
di interrogazione ho i criteri di ricerca che sono: 1) autore (una casella
combinata), 2) titolo (una casella combinata), 3)parole chiave (10 caselle
combinate), ma come faccio a costruire dinamicamente la giusta query? Per i
primi due criteri non ho problemi (ovviamente li metto in AND e mi
costruisco via codice la stringa SQL) ma non riesco a scrivere la query per
tutti gli altri, Devo insomma verificare se ogni parola chiave inserita in
una delle 10 caselle combinate in fase di ricerca (ovviamente ne possono
inserire da 0 a 10) è presente in uno dei 10 campi keyword in tabella. Avete
dei suggerimenti o esempi? Se pensate che il problema vada impostato
diversamente provate a suggerirmi altre strade.
Un super grazie a chi mi aiuterà.
Bye
Ilaria

Io inserirei un campo contatore nella tabella articoli, in modo che ogni
articolo abbia un suo codice univoco, poi farei un'altra tabella con un
campo codice articolo e un campo keyword, nella quale posso inserire per
ogni articolo un qualsiasi numero di parole chiave.
Le due tabelle vanno poi correlate con una relazione uno a molti sul campo
codice articolo; per la ricerca usi una query, basata su entrambe le
tabelle, in cui imposti il criterio di ricerca su un solo campo (keyword)
semplificando molto la ricerca, che ti restituisce tutti i dati degli
articoli correlati.
Ciao.

 wrote in message
MpVs4.2127$qv.2...@news.infostrada.it...

A meno che le parole chiave siano parole NON contenute nell'articolo io non
le memorizzerei a parte, farei una funzione che va a pescare gli articoli
che contengono quelle parole.
Prendi il caso in cui chi ha inserito l'articolo non ha inserito alcune
parole chiave in base alle quali un altro utente vorrebbe cercare di
estrarre gli articoli e capirai il perche' del mio suggerimento.
Ciao, Sib

 estrarre gli articoli e capirai il perche' del mio suggerimento.
Chi inserisce i dati ha una certa conoscenza di soggettazione
biblioteconomica e comunque quello che dici tu rimane il rischio principale
di qualunque ricerca per soggetto.
Ti ringrazio comunque, adesso sto provando a seguire la strada suggeritami
da Sirio, ma non sono ancora arrivata alla famosa query di ricerca.
Bye
Ilaria

 da Sirio, ma non sono ancora arrivata alla famosa query di ricerca.
E' la strada giusta, dato che gli articoli non sono memorizzati, ma a questo
punto qual e' il problema?
Se hai:
Tabella articoli
IDArticolo    Titolo    Note ...
1                   Pippo    bla
2                   Giovanni    bla
Tabella parole chiave
IDArticolo    ParolaChiave
1                    Bibo
1                    Biba
2                    Ciccio
2                    Ciccia
Relazioni:
Tabella articoli-IDArticolo 1 a molti con Tabella parole chiave-IDArticolo
La query che puoi tirare fuori e':
Query articoli-parole chiave
IDArticolo Titolo ParolaChiave
1                Pippo    Bibo
1                Pippo    Biba
2                Giovanni    Ciccio
2                Giovanni    Ciccia
Qui basta filtrare la query in base alla parola chiave che desideri che ti
vengono fuori solo gli articoli relazionati con la parola chiave
specificata.
Ciao, Sib

Se hai problemi nel fare la query, o vuoi una mano a creare una maschera con
funzioni di ricerca e ordinamento, mandami un DB con le due tabelle, anche
senza dati, solo struttura, e vediamo cosa si puņ fare.
Ciao.
si...@post.com

 
fai cosi`:
una tabella "tblKW", con IDkw e keyword.
Una tabella di appoggio, in cui ci sono IDkw ed IDtesto.
Nella maschera di inserimento dei testi, inserisci una sottomaschera
per l'inserimento delle parole chiave (che non sono piu` limitate a 10).
Ti consiglio di usare delle combo box.
Se la parola era gia` esistente, nella tabella di appoggio salvi solo
l'IDkw e l'IDtesto.
Se la parola non esisteva gia` (evento NotInList della combo), devi
prima aggiungerla alla tabella tblKW.
Ti assicuro che e` piu` facile a farsi che non a dirsi... fai
riferimento all'help per i comandi di base, se hai problemi posta.
bye!
-- 
Emanuele Cesena                  
http://www.penguinpowered.com/~ecesena
ece...@penguinpowered.com
 - Attenzione antispam: ROT13 per rispondermi 
Se le classi inferiori non ci danno il buon esempio, che cosa ci stanno
a fare?
		-- Oscar Wilde