Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
Crystal Reports e reportistica
È possibile leggere il valore di una formula a runtime?
giovedì 15 luglio 2010 - 11.45
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
dema
Profilo
| Newbie
5
messaggi | Data Invio:
gio 15 lug 2010 - 11:45
Ciao a tutti, sono nuovo di questo forum e parto subito con il mio crucio più grande
tramite un report di CR, devo creare un PDF di fatture (i cui dati
sono letti dal db)e a runtime recuperare a che pagina inizia e a che pagina
finisce ogni fattura. La mia idea era quella di inserire delle formule nelle
quali salvo i numeri delle pagine e durante l’esecuzione del mio programma
trovare un metodo della CRAXDRT.dll (libreria che utilizzo per gestire l’
esportazione) per leggere queste formule.
Per creare il PDF uso questo codice:
Dim crxReport As CRAXDRT.Report
...
Set crxReport = CreateReport(sProfileName, sSQLQuery, sReportPath, sSelectedReport, arFormulas)
...
crxReport.PaperSize = crPaperA4
crxReport.ExportOptions.DestinationType = crEDTDiskFile
crxReport.ExportOptions.DiskFileName = sFilePDF
crxReport.ExportOptions.FormatType = crEFTPortableDocFormat
crxReport.DisplayProgressDialog = bDisplayProgressDialog
Call crxReport.Export(False)
Dopo il quale, facendo diversi tentativi tutti infruttuosi, ho provato ad
usare:
- CRAXDRT.Report.GetReportVariableValue, che però utilizzandolo mi da l’errore
70, praticamente mi dice che non ho i permessi
- CRAXDRT.Report.FormulaFields.GetItemByName("nome formula").Value che non da
errori ma non mi ritorna il valore che mi aspetto, ma stringa vuota
Se faccio CRAXDRT.Report.FormulaFields.GetItemByName("nome formula").Text riesco a recuperare il testo della formula, cioè il pseudocodice CR che definisce la formula, ma non riesco a recuperare il valore risultato di queslla formula, come se stassi cercando di leggerlo nel momento sbagliato, quando la formula non è ancora eseguita e non ha calcolato il valore eppure lo stò facendo alla fine di tutto, sopo aver adirittura esportato il risultato del report in un file PDF!!
Qualc'uno può aiutarmi please????
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
mer 8 set 2010 - 13:28
Ciao, perdona il ritardo nella risposta.
>Se faccio CRAXDRT.Report.FormulaFields.GetItemByName("nome formula").Text
>riesco a recuperare il testo della formula, cioè il pseudocodice
>CR che definisce la formula, ma non riesco a recuperare il valore risultato di queslla formula
a quanto ne so io, non c'è modo, l'unica cosa che riesci a fare da codice è appunto quella che hai visto anche tu, modificare (o leggere) i valori "codice" dei campi formula con la proprietà "Text" ma chiaramente non è il valore reale.
Io ho usato questa proprietà per modificare i campi formula come mostrato in questo esempio:
http://www.dotnethell.it/tips/ModificheRuntimeCrystal.aspx
Ciao.
Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo
dema
Profilo
| Newbie
5
messaggi | Data Invio:
gio 9 set 2010 - 12:09
Ti ringrazio, ma il mio problema è diverso da quello illustrato nel link che mi hai passato, devo leggere i valori della formula, li invece si agisce modificando il text.
Cmq ho risolto con una "pezza", praticamente eseguo una doppia esportazione, oltre a PDF esporto anche a RTF e da questo secondo file, con le librerie di Office o le API di OpenOffice, estraggo le informazioni che mi servono facendo una ricerca nel testo dei tag che identificano le formule che devo leggere.
Non è che mi esalti come soluzione perchè è proprio un accrocchio, ma sai come si dice:
...the show must go on!
Ciao
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
ven 10 set 2010 - 02:14
>Ti ringrazio, ma il mio problema è diverso da quello illustrato
>nel link che mi hai passato, devo leggere i valori della formula,
>li invece si agisce modificando il text.
Sì infatti ti avevo anticipato che non era possibile farlo a mio avviso
>Non è che mi esalti come soluzione perchè è proprio un accrocchio,
>ma sai come si dice:
>...the show must go on!
immagino è abbastanza un accrocchio, ma non credere, ogni tanto vanno bene anche quelli, anche perchè spesso l'utente che lo usa non ha la percezione di cosa c'è dietro...
Ciao.
Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo
dema
Profilo
| Newbie
5
messaggi | Data Invio:
ven 10 set 2010 - 09:28
>immagino è abbastanza un accrocchio, ma non credere, ogni tanto
>vanno bene anche quelli, anche perchè spesso l'utente che lo
>usa non ha la percezione di cosa c'è dietro...
parole sante!!
Infatti per evitare che se ne accorgano a elaborazione terminata cancello pure tutti i file RTF in modo da non lasciare traccia.
Cmq sono un pò un perfezionista e quando non riesco a trovare la soluzione che mi aggrada mi resta sempre un pò l'amaro in bocca
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
ven 10 set 2010 - 12:06
>Cmq sono un pò un perfezionista e quando non riesco a trovare
>la soluzione che mi aggrada mi resta sempre un pò l'amaro in
>bocca
ti capisco benissimo, io sono come te...ma qualche volta devo scendere a compromessi, per mancanze altri magari, proprio come questa che non ti da accesso ai valori veri e propri ma solo alla parte di design del report...
Con gli anni mi è capitato di farne di "porcherie" di cui ancora mi vergogno...ma quando non dipende da te non hai alternative...
Ciao.
Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo
Torna su
Stanze Forum
Elenco Threads
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 !