Newsgroup: it.comp.lang.visual-basic
Titolo: stampa del campo ORA in crystal report

se provo a stampare un campo ora in C. Report, mi mette invece una
data.
Dove sbaglio?
esempio:
voglio stampare un campo contenente le 11.30 invece mi stampa una data
tipo 31/12/1900 (o cose simili)!!!!
Ciao da Michelaz
 

...

Non inserire il campo direttamente nel report ma inseriscilo tramite una
formula.
Prova a guardarti l'help delle seguenti funzioni:
    Time
    DateTimeToString
    DTSToTimeString
(E' un po' che non lo uso)
Ciao Francesco C.

Crystal Report NON supporta il formato hh:mm:ss.
Per ottenere dei campi con questo formato ho trovato queste formule:
//*************************************************************************
// Time Format for CRYSTAL Reports (12:00 AM/PM format)
//
//*************************************************************************
// Convert MS ACCESS Time to Whole Number
NumberVar TotWholeNbr:={Time.Time}*100000000;
// Calculate Hours
NumberVar Hours:=Truncate(TotWholeNbr/4166666.64);
// Calculate Minutes
NumberVar Mins:=Truncate((TotWholeNbr-(Hours*4166666.64))/69444.444);
// Set AM/PM String
If Hours>=12 Then
  StringVar AMPM:="PM";
If Hours<12 Then
  StringVar AMPM:="AM";
If Hours=0 then
  Hours:=12;
// If past 13:00, adjust hours
If Hours>12 Then
  Hours:=Hours-12;
// Set Hour String
If Hours<10 Then
  StringVar HH:="0"+ToText(Hours)
Else
  StringVar HH:=ToText(Hours);
// Set Minute String
If Mins<10 Then
  StringVar MM:="0"+ToText(Mins)
Else
  StringVar MM:=ToText(Mins);
// Output Time
HH[1 to 2]+":"+MM[1 to 2]+" "+AMPM[1 to 2];
//*********************************************************************
// Time Format for CRYSTAL Reports (24:00 format)
//
//****************************************************************
// Convert MS ACCESS Time to Whole Number
NumberVar TotWholeNbr:={Time.Time}*100000000;
// Calculate Hours
NumberVar Hours:=Truncate(TotWholeNbr/4166666.64);
// Calculate Minutes
NumberVar Mins:=Truncate((TotWholeNbr-(Hours*4166666.64))/69444.444);
// Set Hour String
If Hours<10 Then
  StringVar HH:="0"+ToText(Hours)
Else
  StringVar HH:=ToText(Hours);
// Set Minute String
If Mins<10 Then
  StringVar MM:="0"+ToText(Mins)
Else
  StringVar MM:=ToText(Mins);
// Output Time
HH[1 to 2]+":"+MM[1 to 2];
//****************************************************************
// Time Format for CRYSTAL Reports (24:00:00 format)
//
//****************************************************************
// Convert MS ACCESS Time to Whole Number
NumberVar TotWholeNbr:={Time.Time}*100000000;
// Calculate Hours
NumberVar Hours:=Truncate(TotWholeNbr/4166666.64);
// Calculate Minutes
NumberVar Mins:=Truncate((TotWholeNbr-(Hours*4166666.64))/69444.444);
// Calculate Seconds
NumberVar
Secs:=Truncate((TotWholeNbr-((Hours*4166666.64)+(Mins*69444.444)))/1157.4074
);
// Set Hour String
If Hours<10 Then
  StringVar HH:="0"+ToText(Hours)
Else
  StringVar HH:=ToText(Hours);
// Set Minute String
If Mins<10 Then
  StringVar MM:="0"+ToText(Mins)
Else
  StringVar MM:=ToText(Mins);
// Set Seconds String
If Secs<10 Then
  StringVar SS:="0"+ToText(Secs)
Else
  StringVar SS:=ToText(Secs);
// Output Time
HH[1 to 2]+":"+MM[1 to 2]+":"+SS[1 to 2];
N.B.
Al posto di {Time.Time} va naturalmente il campo del database che DEVE
essere in formato DOUBLE e non Data/Ora
Ho sentito dire che (forse) C.R. gestisce il formato ora solo se si accede
al database Access tramite ODBC, ma non ho mai verificato.
Hope this help.
Ciao
--
Stefano Zamboni
----------------------------------------------------------------------------
----------------
sz...@XXXtin.it
zam...@XXXfreemail.it
Togliere "XXX" per rispondere
----------------------------------------------------------------------------
----------------

Grazie per le utili informazioni :))))
Ciao