Problema visualizzazione report se una tabella non ha dati

mercoledì 27 dicembre 2006 - 15.06

Franto Profilo | Junior Member

Ciao a tutti, sono alle prime armi con CR10 e ho un problemino....
Nel mio report ho 2 tabelle relazionate tra loro.
Le due tabelle sono FATTURA e SCADENZE.

Perché se la mia fattura non ha scadenze, il report risulta vuoto?
Io mi aspettavo di vedere la mia bella fattura con i campi relativi alle scadenze vuoti.

I need your help!!!!!

gighellino Profilo | Newbie

Ciao,
sembra un problema di query, prova a eseguirla non dal report e vedi se ti ritorna dei valori....

gighelino

Franto Profilo | Junior Member

Ciao gighelino, ho risolto momentaneamente il problema passando manualmente alla stampa i parametri che mi servivano...
Per quanto riguarda la relazione non ho fatto altro che linkare i campi chiave delle due tabelle. La formula che passo in input fa sì che mi venga stampata solo la fattura che ho in linea valorizzando la key completa della tabella fattura.

Proverò a "smanettare" appena ho un pò più di tempo

Grazie x la risposta,
Tony

freeteo Profilo | Guru

ciao,
leggendo il post stavo pensando: perche' non fare una leftjoin da sintassi sql?
Io mi sono trovato in passato davanti a qualche problemino simile proprio con Crystal Report nel link di tabelle (tipo campi duplicati o campi che non venivano visualizzati), il tutto perche' Crystal non è "perfetto" nel linkare 2 tabelle, oltre ad essere piu' lento.
Invece il tutto lo puoi risolvere semplicemente mettendo le 2 tabelle in relazione tu da stringa SQL, ad esempio:
SELECT fatture.descrizione,fatture.cliente..., scadenze.data ... FROM fatture LEFT JOIN scadenze ON fatture.id = scadenze.IDfattura
cosi' vai via tranquillo, perche' il report la tratta come fosse una tabelle singola e sicuramente non ha problemi.
L'unica cosa che ti resta da fare è usare i RAGGRUPPAMENTI, per i campi in comune e fare una struttura ad albero, 1->N con Fatture come padre e Scadenze come figlio.
Poi via via puoi fare un gruppo o n gruppi come vedi va meglio a te...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

Franto Profilo | Junior Member

Quindi se ho capito bene, io disegno comunque le due tabelle, non le metto in relazione e creo uno script SQL che le relaziona. Dopodiché lavoro con i raggruppi...GRAZIE! Proverò anche questa soluzione.

Domanda: Se la funzionalità di link tra tabelle in CR non funziona molto bene è sempre meglio lavorare in SQL?

freeteo Profilo | Guru

>Quindi se ho capito bene, io disegno comunque le due tabelle,
>non le metto in relazione e creo uno script SQL che le relaziona.
quello che intendo è che nel momento in cui aggiungi una tabella di un database al report, non vai a prendere una tabella nella treeview, ma scegli "comando".
Il comando non è altro che la possibilita' di scrivere una stringa Sql (appunto quella che ti ho dato prima) e quindi avere come sorgente dati per il report, una "tabella" che è il risultato della query, e costruire il design con quei campi risultanti.
Ti mostro un'immagine di cosa intendo:

564x393 83Kb

quando scegli quel "comando" si apre la maschera dove inserire la sintassi....magari provatela in access o sql manager, in modo da essere sicura che ti restituisca tutti i campi che ti servono

>Dopodiché lavoro con i raggruppi...GRAZIE!
si dopo che hai una sola tabella nel report, con l'insieme dei campi che ti servono


>Domanda: Se la funzionalità di link tra tabelle in CR non funziona
>molto bene è sempre meglio lavorare in SQL?
si io lo consiglio perche' per esperienza personale, si adatta molto bene ai raggruppamenti, e ne guadagni in velocita' di elaborazione del report...
ciao.

Matteo Raumer
[MCAD .net]
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5