2010-03-08 4 views
0

J'ai un rapport de cristal où il montre les activités de l'agent tout au long de la journée avec un graphique à secteurs. Dans les détails section, il affiche:Crystal Report Fonction de conversion des secondes en format Timespan

  • Activité [string]
  • StartedAt [DateTime]
  • EndedAt [DateTime]
  • Durée [La différence entre EndedAt et StartedAt en quelques secondes - Entier]

Les données du rapport sont groupées par activité et résumées par durée.

Actuellement La durée est affichée en secondes mais je dois la formater 02h: 30m: 22s: 15ms. Pour cela j'ai écrit une fonction personnalisée dans Crystal Report dans l'éditeur Formula Workshop comme suit, mais il semble que la syntaxe ne soit pas correcte (Message d'erreur sur le mot clé Long: "Un type variable (par exemple, 'String') est manquant."). Quelqu'un peut-il aider?

Function GetTimeSpanString(seconds as Long) 
    Dim ts As TimeSpan = TimeSpan.FromSeconds(seconds); 
    GetTimeSpan = string.Format("{0:D2}h:{1:D2}m:{2:D2}s:{3:D3}ms", 
          ts.Hours, 
          ts.Minutes, 
          ts.Seconds, 
          ts.Milliseconds) 
End Function 

Répondre

1

Vous pouvez facilement modifier ma fonction ElapsedTime() pour répondre à vos besoins.