Fuori tema (crystal reports 9.0)

venerdì 29 agosto 2003 - 18.02

Dario Profilo | Newbie

Ciao a tutti, scusate per il fuori tema, ma avrei
l'esigenza di sapere come si può inserire
in un report (crystal reports 9.0) una data, mese
anno (es: Agosto 2003) con la prima lettera maiuscola
e soprattutto, se è possibile, che cambi al mese successivo
5 giorni prima della fine del mese corrente.

Spero di essere stato chiaro.
Grazie 1000
Ciao Dario

Brainkiller Profilo | Guru

Ciao Dario,
Benvenuto. Allora vediamo di capire un po' meglio.
Il Crystal Reports 9.0 lo stai usando da dentro .NET quindi hai comprato la versione di aggiornamento vero? Mi pare che quello distribuito con VS.NET sia una versione precedente o dico una stupidata (8.5)?
Se sì, il tuo è solo un problema di formattazione data?
Hai provato ad utilizzare i vari overload del metodo ToString() che ti permettono di impostare una stringa formattata personalizzandola a tuo pacimento tipo DD/MMM/YYYY ?

La seconda domanda proprio non l'ho capita per niente, che significa cambiare data 5 giorni prima della fine del mese???
Ciao

David De Giacomi

Dario Profilo | Newbie

Ciao David,
Grazie per l'accoglienza.
Dunque, la vers. di Crystal non è l'aggiornamento ma è la 9.0
a tutti gli effetti, per esattezza la CR Developer.
Il SW non lo sto usando da .NET, ma da VB6, enche se non sono proprio
una cima, sto cercando di capire come funziona la connessione a Crystal
e il successivo popolamento dei campi in VB6 (ma questo è un altro film).
Non so se questo può comportare cambiamenti al metodo ToString().
Per quanto riguarda la seconda domanda in effetti è parecchio strana,
ma ho l'esigenza di far comparire in automatico una data sul report,
che cambi 5 giorni prima della fine del mese (es: se oggi fosse il 26 Settembre
la data dovrebbe gia segnarmi Ottobre 2003).
Spero di essere stato più chiaro.

Grazie 1000 per l'attenzione
Ciao Dario

Brainkiller Profilo | Guru

Purtroppo non so come aiutarti, perchè Crystal Report ho avuto esperienze con la versione contenuta all'interno di Visual Studio .NET e con .NET. Con VB 6.0 non ho mai avuto l'occasione di utilizzarlo anche se penso sia molto simile a .NET.
Beh sicuramente in VB 6 non ci sarà il metodo ToString(). Alla fine un Data Report è un oggetto in memoria a cui tu assegni un DataSet/Recordset che contiene dati e lui te lo rappresenta sottoforma di Tabella, poi immagino che puoi aggiungere Label o altre cose che puoi modificare all'apertura così come anche la data di cui parli.
Certamente perchè tu possa modificarla è necessario come minimo far aprire il Report da qualche programma che poi va a modificarla o per lo meno il programma usato dalla persona che stampa il Report dovrà contenere qualche istruzione per aggiornare la data se il giorno del mese è maggiore del 26 settembre, poi questo lo decidi tu.

Ciao David

freeteo Profilo | Guru

ciao potresti fare cosi':
aggiungi 5 giorni alla data corrente e quindi creare un campo formula nel report che contenga questo codice:

datetimevar zData := DateAdd("d",5,CurrentDate);

cosi lo formatti come dicevi ("ottobre 2003")
....

nel caso vuoi la prima lettera maiuscola mi sa che devi fare una composizione di stringhe [piu laborioso] nelle righe successive cioe' nel tuo campo formula mettere anche qualcosa del tipo:

Ucase(zMese[1]) & Lcase(right(zMese,len(zMese) - 1)) & " " & year(zData)

Dario Profilo | Newbie

Ti ringrazio comunque, purtroppo ho visto ora la tua risposta!
Nel frattempo ci sono riuscito in questo modo:

formula = ProperCase (Cstr(CurrentDate + 5,"MMMM")) + " " + Right(Cstr(CurrentDate + 5),4)

Mettendolo in "Editor Formato" "Visualizza stringa"

Grazie a tutti
Ciao Dario
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