Newsgroup: it.comp.appl.access
Titolo: Problema di analisi in un db: concatenare record che trattano il medesimo argomento.

Buongiorno a tutti e scusate se sarò un po' prolisso, ma è niente in
confronto all'utente che mi chiede quanto segue.
In un db di richieste di informazioni, le più disparate, mi viene
chiesto di contare quante richieste trattano lo stesso argomento. Ad
es: nella categoria "fumetti" quante volte mi è stato chiesto «qual è
il numero di targa della macchina di Paperino?» E contemporaneamente,
nella categoria "piante da giardino" quante volte mi è stato chiesto
«come si coltivano le begonie nel mese di marzo?» … e via discorrendo.
Un problema è che le domande di uno stesso argomento non sono per
niente uguali; cioè, riprendendo l'esempio di Paperino, potrei avere
(1) "qual è il numero di targa della macchina di Paperino?" e (2)
"come è immatricolata l'auto del nipote di zio Paperone", ecc. (lascio
alla fantasia di ciascuno immaginare quanto ampia possa essere la
fantasia degli utenti …). L'eventuale query sulla tabella dovrebbe
dare conteggio = 2 per la macchina di Paperino e conteggio = tot per
le begonie di marzo.
Ogni record, ovviamente, ha un campo dove viene inserito il testo
completo della richiesta. In più ogni record fa parte di una categoria
di richieste ("fumetti", "piante da giardino", ecc.); ogni record ha
un campo "parole chiave" dove l'utente mette, a sua discrezione,
quelle che pensa possano essere le parole chiave di quella richiesta;
però mi sembra tutto così aleatorio, da non riuscire ad immaginare una
qualsiasi soluzione il più possibile automatizzabile. Mi sembra
veramente impossibile, però può essere che io sia un po'
sclerotizzato. Qualcuno si è mai trovato in una situazione simile e
può darmi un consiglio? Per lo sviluppo ci penserò dopo, se mi si
prospetta qualche soluzione soddisfacente o per lo meno applicabile.
Grazie per la compassione.
Chippo.
PS: il numero di targa dell'auto di Paperino è 313, ma chi non lo sa?

 PS: il numero di targa dell'auto di Paperino è 313, ma chi non lo sa?
Se hai delle parole chiave puoi fare una ricerca su queste usando gli
operatori OR, AND, Like ecc. (vedi sulla guida).
La stessa ricerca la puoi fare sul testo direttamente: p.e. Like
"*Paperino*" trova tutti i record in cui compare la parole Paperino.
Se invece pensi che siamo già arrivati alle reti neurali e alla deduzione
neuronica per concetti...bhe allora credo che dovresti assumere il tuo
cliente per un film di fantascienza....piuttosto che fargli un DataBase
Relazionale.
Ciao, Carlo

 PS: il numero di targa dell'auto di Paperino č 313, ma chi non lo sa?
Aggiungi un semplice campo e lo chiami TipoArgomento
gli agganci una tbl di ricerca con i vari tipi di argomenti con cui prevedi
che avrai a che fare tipo Macchine Targhe Begonie ed il gioco č fatto.
Giuseppe

...

Premesso che, come posta Carlo, siamo nel campo dei neuroidi, comunque
mi avete messo una pulce nell'orecchio. Perň non ho compreso il tuo
suggerimento.
Mi faresti un esempietto?
Grazie ad entrambi e buona giornata.
Chippo

 Chippo
Fai una tbl cosi:
ID(contatore) , TipoArgomento(testo), Categoria(testo),Domanda(note).
Ti crei poi una tbl e la chiami tblTipiArgomenti con un solo campo e lo
chiami Argomento(testo)
Apri quest'ultima tbl e inserisci i vari argomenti del tipoMacchine Fiori
Città Nome Abitudini etc etc
più ne metti meglio è.
Torni sulla prima tbl la apri in visualizzazione struttura e sul campo
TipoArgomento gli agganci la tbTipiArgomento.
Se poi apri la prima tbl vedrai che sul campo TipoArgomento c'è una comnbo
con i dati della tblTipiArgomento.
Ora quando l'utente inserirà una domanda dovrà necessariamente scegliere
oltre che alla 
categoria8p.es
 fumetti)
il tipo di argomento(Macchine o Begonie etc.)
Questo campo ti servirà poi per filtrare le domande in base sia alla
categoria che appunto al tipo di argomento.
Chiaramente questa soluzione va bene se il db lo devi fare.Se lo hai già
fatto allora segui quello che ti ha detto Carlo.
Ciao
Giuseppe.

...

Grazie mille. Vi farò sapere.
Buona giornata.

 Buona giornata.
Premesso che non ho ancora capito bene come funzionano le reply ai
vari post ...
volevo ringraziarvi per l'attenzione e dirvi che ho risolto cosě:
1. in fase di inserimento di una nuova richiesta faccio nel db una
ricerca sui campi chiave o anche sul testo della richiesta
2. se trovo qualcosa di uguale alla richiesta che devo inserire,
duplico il record, portandomi dietro l'Id del record trovato; in
pratica creo dei record figli, collegati al padre da un campo
IdCollegato
3. alla fine conto tutti i record che hanno il campo IdCollegato not
null (ovviamente raggruppati per Id)
Mi sembra una soluzione accettabile, che forse limita la fantasia
degli utenti nel digitare le richieste, perň fa fare il lavoro di
ricerca prima dell'inserimento e non dopo.
Grazie ancora e alla prossima