Newsgroup: it.comp.appl.access
Titolo: Report "orizzontale" con struttura dati "verticale"

E' tosto pure da spiegare.
Allora: ho una tabella principale che si lega ad altre tre tabelle in
relazione uno a molti su un campo chiave.
Devo realizzare un report che rappresenti i dati raggruppati per ciascun
record della tab principale.
Il problema è che deve essere organizzato in maniera orizzontale come un
tabulato excel. Per esempio
Supponiamo per semplicità che la tabella principale abbia una serie di dati
tipici del record principale, e che ci siano due tabelle T1 e T2 con un
numero di record variabile per ogni record principale e possibilmente
diverso tra loro.
Il report dovrebbe essere:
Dati tipiciR1 - T1Campo1 T1Campo2 - T2Campo1 - T2Campo2
                         T1Campo1 T1Campo2 - T2Campo1 - T2Campo2
T2Campo1 - T2Campo2
T2Campo1 - T2Campo2
Dati tipiciR2 - T1Campo1 T1Campo2 - T2Campo1 - T2Campo2
                         T1Campo1 T1Campo2 - T2Campo1 - T2Campo2
                        T1Campo1 - T1Campo2
e così via...
Ho provato ad usare sottomaschere, caselle di riepilogo, ma per un motivo o
un altro non mi viene il risultato atteso.
Come si può fare (se si può fare)?
Antonio

 un altro non mi viene il risultato atteso.
non ho capito molto bene perň se TU le hai provate tutte sicuramente
semplice non č, considerando poi che io non sono un esperto da considerare
la seguente solo come un semplice idea di soluzione
vado comunque cosě un po ad orecchio
se come dici hai provato a mettere le sottomaschere e non funziona
potrebbe (molto potrebbe) essere che il report non riesce a gestire come vuoi
tu
piů sottomaschere ed il record principale nella forma che vuoi tu
se il tutto, praticamenet il modo in cui tu lo vuoi vedere
te lo imposti con una query e quindi nel report ci metti la query e non piů
tre controlli 1 masch princip 2 tab 1 e 3 tab2
ma direttamente una tabella query unica che perň deve essere studiata in modo
che sia equivalente alla situazione grafica di recordprincipale e tab1 e tab2
spero di esserti stato di aiuto
se ho scritto qulache grossa caz.. chiedo perdono
(mi andava di darti una mano in ogni modo)

 Come si può fare (se si può fare)?
Azz ... non ce l'hai una domanda di riserva ... :-)

                                                         T2Campo1 -
T2Campo2
[cut]
Da quello che capisco ...
- L'esempio si riferisce ad un report tabellare di 5 campi in totale
- I record di T1 e T2 viaggiano a coppie sul medesimo record
- Ogni coppia viene ripetuta una sola volta
Non vedo soluzioni semplici o scorciatoie ...
Perň, se ho capito giusto, sarebbe fattibile in 6 passaggi:
1) Metti in JOIN la tabella Base con T1 ed esporta il risultato su una
TEMPT1, aggiungendo su query un campo ordinamento impostato a zero.
2) Metti in JOIN la tabella Base con T2 ed esporta il risultato su una
TEMPT2, aggiungendo su query un campo ordinamento impostato a zero.
3) Prepari una funzioncina che ti numeri (prima su una TEMP e poi
sull'altra) in maniera progressiva i record per ogni Dato Base (R1 -
1,2,3... / R2 - si ricomincia da 1).
4) Metti in LEFTJOIN TEMPT1 e TEMPT2 (creazione tabella) e scarica il
contenuto su una TEMPREPORT (incluso il campo ordinamento).
5) Metti in LEFTJOIN TEMPT2 e TEMPT1 (accodamento) e scarica il contenuto
sulla stessa TEMPREPORT (incluso il campo ordinamento).
6) Con una query di raggruppamento da TEMPREPORT ordinata per Dato Base +
ordinamento dovresti visualizzare qualcosa di piů umano e vicino a quello
che ti serve.
Su report riporti tutto tabellarmente e nascondi eventuali duplicati del
dato Base. Ma non te lo devo certo insegnare io ... ;-)
Ciao Anto'
OndaMax

 (mi andava di darti una mano in ogni modo)
Grazie mille... e cazzate non le hai dette, anzi...
Antonio

 - Ogni coppia viene ripetuta una sola volta
Non ci siamo. Le tabelle 1 e 2 possono avere da 0 a n record associati alla
tabella principale e con un numero anche diverso tra loro.
Il report finale dovrebbe avere prima un'intestazione, ma alla stessa
altezza del resto dei dati, quindi i campi della tabella 1 riempiti per il
numero di record che risultano associati (0->n) e alla stessa altezza i
campi della tabella 2 riempiti del numero di record associati (0->n). Se il
numero di record di T1 e T2 sono diversi, per esempio T1 2 record, T2 4
record, nella terza e quarta riga si avrà bianco per i campi di T1 e con i
dati per T2.
In altre parole, se avessi una sola tabella, metterei come origine record
una query che JOINA sul campo chiave la tab principale con quella "molti",
quindi nel report raggrupperei sul campo chiave e nel corpo metterei i campi
della tab "molti". Dovrei fare questo per più tabelle "molti", mettendo i
dati allo stesso livello... Con un'unica query, non avrei però i campi
bianchi sulle righe "spaiate", ma ci sarebbe un prodotto cartesiano tra il
numero di record delle varie tabelle "molti"...
Groan!
Antonio