Newsgroup: it.comp.appl.access
Titolo: struttura report con dati 1-n 1-m 1-q ecc.

devo impostare un report per dei dati che hanno una particolare struttura 
dati
 
diciamo che c'è una tabella base con singoli record
 
ci sono poi una serie di tabelle a corredo di quella base, ognuna in 
relazione uno a molti ognuna con numero di record diversi, anche zero
 
in questa maniera è impossibile effettuare dei raggruppamenti nel report in 
modo da avere nel corpo quanto si riferisce al record corrente della tabella 
base (su cui invece il raggruppamento è possibile)
 
Credo che l'unico modo sia appoggiarmi a vari sottoreport da inserire nel 
corpo, legati tra loro con il campo chiave che lega le tabelle uno a molti e 
inseriti in maniera sequenziale perchè a priori non so quanti record sono 
legati per ogni tabella lato molti (usando poi la proprietà riducibile)
 
Certo, non mi piace molto il layout del sottoreport, o non sono stato capace 
io a formattarlo meglio
mi da sempre il rettangolo con i dati dentro, a colonne, diciamo tipo 
casella di riepilogo
 
Ci sono altri modi per formattare il sottoreport?
 
Secondo voi ci sono modi diversi per gestire questa struttura dati?
 
Grazie
 
Antonio 
 
 


 
 
-- 
 
ac (x=y-1)

 Ogni union si trascina i suoi record corrispondenti poi si raggruppa
 
ma io non ho problemi a recuperare i dati, lo posso fare anche con una query 
normale
il problema è che mi viene fuori il prodotto cartesiano dei vari join
 
e a quel punto il raggruppamento è impossibile
 
con la union sarebbe la stessa cosa no?
 
 
Antonio 
 
 


Perche' dici "prodotto cartesiano"?
 
In questo momento sto "combattendo" (anzi ho combattuto) con una 
situazione, forse, simile alla tua.
Ho un file "guida" che contiene tutte le chiavi presenti su n Tabelle.
Nel mio caso le chiavi sono univoche nel senso che un certo codice puo' 
essere presente solo su una delle tabelle per avere il risultato totale 
non faccio altro che fare (*)
 
select "A",a.*,b.* from tabguida a, tabspec1 b where a.codice = b.codice
union
  stessa cosa per le n tabspec variando il campo fisso (nel mio caso) 
che mi rende nota la provenienza.
 
e' chiaro che c'e' un prodotto cartesiano fra tab a e tab b (ccome fai 
ad evitarlo?) ma se la situazione e' paragonabile a quanto descritto 
(**) mi sembra fra le cose piu' pulite da fare. Il risultato e', come 
vedi, un "tabellone" che poi puoi gestire come vuoi in sede di 
raggruppamento
 
(*) la mia relazione e 1-1 ma il senso non cambia
(**) aho..... poi se so una miliardata di record forse access non e' il 
piu' appropriato, ma hai scritto che e' un report e quindi non lo penso.
 
 
-- 
 
ac (x=y-1)

 (*) la mia relazione e 1-1 ma il senso non cambia
 
è qui la questione
 
provo a spiegarti il caso reale semplificando un po'
 
tab A base - specifiche manutentive
codice - desc - frequenza
 
tab B - tools usati
RIF_SPEC - codice - desc
 
tab C - operai coinvolti
RIF_SPEC - tipologia - n°
 
con questa situazione
A
XXX - riparazione - M03
B
XXX - AAA - martello
XXX - BBB - pinze
C
XXX - MECC - 2
XXX - ELET - 1
 
se unisco il tutto ottengo il prodotto cartesiano quindi
 
XXX - riparazione - M03 - AAA - martello - MECC - 2
XXX - riparazione - M03 - AAA - martello - ELET - 1
XXX - riparazione - M03 - BBB - pinze - MECC - 2
XXX - riparazione - M03 - BBB - pinze - ELET- 1
 
immagina questa cosa dove in B e C (e ci sarebbe anche una D) ci sono anche 
decine di record
 
finora l'unico modo di rappresentare la questione è
raggruppo per codice SPEC e nell'intestazione metto i dati della spec ma 
SENZA unire le tabelle in query
nel corpo metto dei sottoreport per ogni tabella in relazione su RIF_SPEC
 
Antonio 
 
 

 nel corpo metto dei sottoreport per ogni tabella in relazione su RIF_SPEC
Questa e' certamente una via. I sottoreport hanno vantaggi e svantaggi 
per questo caso mi sembrano sufficientemente adatti
 
-- 
 
ac (x=y-1)

"Alessandro Cara"  ha scritto nel messaggio 
news:3eArq.91941$GZ3....@tornado.fastwebnet.it...

__________________Risposta:
Alla fine se ti trovi nelle peste
o esporti in excel o ti crei una tab temporanea che popoli come vuoi
MA
 
p.s. due brutte soluzioni ma he funzicano
 
 
 
 
 
 

 p.s. due brutte soluzioni ma he funzicano
Stai parlando di due cose che, come diceva Gassman, io "ignoro".
-- 
 
ac (x=y-1)


Dipende... ma non so se ho capito.
Puoi usare una TextBox non associata espandibile, e su FORMAT del
CORPO apri un RS che punta
alle tabelle legate in Relazione lato Molti usando la PK del Campo del
Corpo...
a quel punto usi la TextBox non associata per scriverci dentro il
contenuto del RS o dei RS...
 
@Alex