Come organizzare un report con tabelle multiple legate

mercoledì 25 novembre 2009 - 16.55

gabriel81 Profilo | Junior Member

Ciao ragazzi,

mi sto cimentando nella realizzazione di un' applicazione per la redazione di preventivi.
Il mio problema è sul come tradurre tutto in un report alla fine..
Mi spiego meglio:
Il db è stato progettato così:
tabella Testata: dati cliente, data validità, condizioni generali ecc ecc (sarà sempre una riga sola)
tabella Righe : codice articolo, descrizione, qtà e prezzo (1 o più righe)
tabella Capitoli: ogni preventivo sarà suddiviso in uno o più capitoli
tabella Capitolazione: tabella di incrocio dove lego testata ordine, capitolo e riga
es.: ORDINE 999999 | CAPITOLO 1 | RIGA 1 |
ORDINE 999999 | CAPITOLO 1 | RIGA 2 |
ORDINE 999999 | CAPITOLO 1 | RIGA 3 |
ORDINE 999999 | CAPITOLO 2 | RIGA 4 |
ORDINE 999999 | CAPITOLO 2 | RIGA 5 |
ORDINE 999999 | CAPITOLO 2 | RIGA 6 |

La domanda è: come caspita gestisco la pubblicazione su CR?
Tenete presente che in genere non lego mai le tabelle su CR, in quanto gli passo io il datasource da codice,
ma in questo caso la vedo dura....
Datemi qualche dritta, vi prego...





http://www.myspace.com/madmack1981

SSUPERPIPPO Profilo | Guru

Sinceramente non ho capito dove incontri la difficoltà...
Puoi eventualmente postare la struttura delle tabelle?

http://blogs.dotnethell.it/alebadalin
http://acquariochepassione.blogspot.com/

freeteo Profilo | Guru

Ciao,
se non ho capito male, tu hai una sola tabella da passare al report, che ha dei valori replicati (classico risultato di una join a livello di sql) e quindi non hai "più tabelle" ma una sola che "mostra i dati legati" di più tabelle.
In questo caso, è d'obbligo l'uso dei gruppi (tasto Dx->Insert Group) anche innestati uno dentro l'altro, dove definisci i campi che ti rifanno la gerarchia (in cascata quindi i 3 campi comuni).

Nel tuo esempio quindi, 3 gruppi, il primo per il campo "ordine" il secondo per il campo "capitolo" etc...

I campi di testata li metti nel "Group Header" di quel gruppo di appartenenza, mentre in cascata gli ultimi saranno quelli dei dettagli, quindi quelli tutti diversi come valori...

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

gabriel81 Profilo | Junior Member

perfetto, ho creato una vista su sql che propone tutti i dati legati e gli passo solo quella, dividento poiu per gruppo.. grazie (ke babbo che sono..)
http://www.myspace.com/madmack1981

freeteo Profilo | Guru

Ottimo, è il modo migliore anche dal punto di vista delle prestazioni del report, che all'aumentare dei dati, possono diventare importanti...

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5