Newsgroup: it.comp.appl.access
Titolo: Creare un solo record unendone due

Ho la necessità di creare un solo record costituito dall'insieme di altri
record (non tanti max 5) provenienti da due tabelle legate 1 a molti, come
posso fare? Per spiegarmi meglio cerco di fare un esempio: dalla prima
tabella prendo un record, es. ID, NOME, TELEFONO. Dall'altra tabella devo
prendere i record legati all'ID (max 5) e unire il tutto creando un unico
record. Si può fare questa cosa con una query di creazione tabella?
Ringrazio chi risponde.
Mark

 ha scritto nel messaggio
news:dwtP7.1840$ob5....@news2.tin.it...

Con una query la vedo dura, con DAO invece non è certo fantascienza.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

....cos'è il DAO???????
....sorry........

 wrote in message
dwtP7.1840$ob5....@news2.tin.it...

Il problema è come legare i record molti.
Se mi dici che si può legare tutti i campi di tutti i record legati in un
unico campo bene, altrimenti come fai a stabilire la struttura della tabella
destinazione?
Se ci sono 3 record legati avrò i 3 campi della tabella 1 + 3X n°campi della
tabella molti, ma se ce ne sono 5 legati?
Insomma devi stabilire a priori il numero dei campi della tabella dest e mi
pare di capire che non si possa sapere...
Tra l'altro stai cercando di DE-normalizzare un database normalizzato...
Comunque, se risolvi questi problemi, il codice ti si può pure fornire...
Antonio

 Antonio
Pensavo di creare un record tipo con una struttura fissa in modo tale che in
questo record si possa sempre prevedere il massimo dell'inserimento, cioč il
record tabella 1 piů i 5 max della tabella molti. Per esempio dal campo 1 a
5 solo il primo record e cosě via... dovrebbe andare. Ma poi?
Mark

 ....sorry........


 ha scritto nel messaggio
news:9umba1$9tr$1...@nreadb.inwind.it...

Per dare una soluzione concreta al problema di MT bisogna prima definire ciò
che Antonio ha evidenziato nel suo messagio scritto in questo thread, senza
tralasciare di capire perché si vuole DE-normalizzare il database: a cosa
serve in un database relazionale creare un record che contiene i dati di 6
record?
Comunque sia, una soluzione possibile è quella di creare una routine in VBA
che, per grandi linee, realizza quanto segue:
1) Definire una array di cinque righe dove memorizzare gli eventuali 5
record contenuti nella tabella del lato molti.
2) Definire la struttura della tabella di appoggio che conterrà il risultato
dell'elaborazione.
3) Aprire 3 recordset, uno per ogni tabella.
4) Creare un ciclo tramite il quale si leggeranno tutti i record della
tabella del lato uno.
5) Per ogni record letto al punto 4) ricercare, con un altro ciclo, tutti
irecord che sono correlati al questo record e memorizzarli nell'array di cui
il punto 1).
6) Ad ogni termine del ciclo di cui al punto 5), accodare un record nella
tabella di appoggio di cui al punto 2) ed aggiornarlo con i dati del record
letto al punto 4) e con i dati meorizzati nell'array.
Torno però a ripetere che va verificato se è veramente necessario avere la
tabella al punto 2) o se ci sono soluzioni alternative; insomma, a che e
dove serve il "raggruppamento" di questi dati: è veramente impossibile
reperirli in maniera dinamica?


 reperirli in maniera dinamica?
Serve solo per un fine statistico, il record verrebe usato da un programma
che si chiama SPSS che è molto complesso e che per certi tipi di statistiche
non vuole dati relazionati con tabelle 1 a molti. C'è un esempio di tutto
quello che descritto? Grazie e ciao
Mark