Problema con una formula di crystal report net

venerdì 14 settembre 2007 - 20.11

trinity Profilo | Guru

salve ragazzi,
io ho creato un report in crystal report net.
Come potete vedere dalla figura allegata:

856x326 40Kb


ci sono due colonne con due giornate, i dati di questi due giorni si trovano nei dettagli del report mentre i primi due dati ossia le presenze del giorno precedente si trovano sull'intestazione.
Insomma il mio problema è il seguente. Le formule presenze dei due giorni sono date da arrivi - partenze solo che nel primo giorno agli arrivi dobbiamo anche aggiungere le presenze del giorno precedente.
In sostanza dall'immagine se fate qualche calcolo capirete il metodo giusto tenendo presente che il vero risultato delle presenze italiane al 03/08/2007 deve essere 39 e per gli stranieri 0 mentre ora mi esce 29 e 4

aiuto help meeeeee!!!!!


ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

freeteo Profilo | Guru

ciao,
se stai operando con le date, prova ad usare qualche sintassi piu' "precisa" in modo da essere sicuro che il compilatore non sbagli ad interpretare.
Intendo le funzioni "datediff" da usare dentro la formula.

Se vuoi un aiuto sulla sintassi (mannaggia non c'e' intellisense!!!) lo trovi qui:
http://technicalsupport.businessobjects.com/KanisaSupportSite/search.do?cmd=displayKC&docType=kc&externalId=crxiUserGdeenpdf&sliceId=&dialogID=7692675&stateId=1%200%207694233
ciao.

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

trinity Profilo | Guru

non sto utilizzando le date e penso che con quel manuale il mio problema non possa essere risolto in + è tutto in inglese(sfiga),
in pratica io devo creare una formula che mi faccia il seguente calcolo:


supponiamo questo esempio:


presenze al 31/07/2007: presenze italiani= 20

poi i successione vengono caricati questi record:

ITALIANI
arrivi: 34(composto da 14 del giorno 01/08/2007 + 20 del giorno precedente ossia 31/07/20007)
01/08/2007 partenze: 10
presenze: 24

arrivi: 5
02/08/2007 partenze: 2
presenze: 27 (questo 27 è dato dalla somma delle presenze del giorno 01/08/2007 ossia 24 + gli arrivi del giorno 02/08/2007 quindi 5 meno le partenze di questo giorno)


insomma io devo fare una formula che in automatico all'aumentare dei record nel dettaglio del report mi stabilisca ad ogni giorno il calcolo delle presenze ma da ricordare che le presenze del giorno 31/07/2007 devono essere sommate una sola volta.



Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

freeteo Profilo | Guru

ciao,
la cosa è abbastanza complessa e forse con un campo formula normale non si riesce facilmente.
Hai gia' provato con i campi "Running Total Field" ? (campo sommatoria).
Questi campi servono per fare calcoli sui record senza seguire il flusso standard del record, ma secondo alcune caratteristiche che specifichi in fase di costruzione del campo stesso.Forse quelli sono l'unica strada...
ciao.

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

trinity Profilo | Guru

Ciao Matteo, sai spiegarmi meglio come funzionano questi campi ed in italiano sotto che voce li trovo?
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

freeteo Profilo | Guru

ciao,
quando sei dentro al report, vai nella tab dove hai i campi il database (il field explorer) sono quelli prima dei campi speciali, con un'icona di sommatoria [E].
Scusami ma ho la versione inglese, e non so la traduzione esatta che hanno dato alla voce, dato che spesso non sono letterali...
ciao.

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

trinity Profilo | Guru

L'ho travata ma non riesco ad utilizzarla per il mio caso...
Senti ti volevo chiedere un'informazione, secondo te visto che io al report ci passo delle tabelle di dataset visto che come db utilizzo sql server, pensavo e se tutte le operazioni le faccio in vb net quando riempio le tabelle del dataset e al report ci passo i valori ben fatti senza fargli fare alcuna formula?

Secondo te è meglio fare così oppure far eseguire formule a crystal report, quando queste formule ovviamente iniziano ad essere molto complicate?

ciao Fabio
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

freeteo Profilo | Guru

ciao,
diciamo che il report ha buone potenzialita' di calcolo e spesso ti puo' tornare utile se devi fare delle modifiche (ti absta modificare solo il file e ridistribuirlo).
Ma sicuramente se le cose si complicano e cmq hai possibilta' di fare operazioni via codice è meglio considerla come ipotesi, senza tante "acrobazie"

Poi ti basta eventualmente passarli al report come parametro o come valore settato di una formula (che magari la usi solo come segnaposto per passare dati):

report.DataDefinition.FormulaFields["tuaformula"].Text = 12;

etc...etc...
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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5