web-dev-qa-db-fra.com

Comment convertir un objet DateTime en chaîne dans Crystal Reports

J'ai une simple ligne de code Crystal Reports ci-dessous:

EffectiveDateTimeString = ToText({Command.EffectiveDate} , "dd-MM-yyyy hh:mm:ss" );

Cependant, lorsque j'essaie de valider la formule, un message d'erreur indiquant "Trop d'arguments ont été donnés pour cette fonction" s'affiche lorsque "jj-MM-aaaa hh: mm: ss" est sélectionné. Command.EffectiveDate est l'objet DateTime. Comment puis-je convertir cela en chaîne? 

Merci!

5
SpartaSixZero

Vous devez utiliser l'opérateur d'attribution :=, et non l'équivalence un =:

EffectiveDateTimeString := ToText({Command.EffectiveDate} , "dd-MM-yyyy hh:mm:ss" );

* modifier *

Cet extrait fonctionne comme prévu:

ToText(CurrentDate + CurrentTime, "dd-MM-yyyy hh:mm:ss");

Assurez-vous que votre champ renvoie réellement une date/heure, plutôt que l’un ou l’autre.

4
craig

Essaye ça:

EffectiveDateTimeString := CStr(DateTime({Command.EffectiveDate} , "dd/MM/yyyy hh:mm:ss" ));

Si {Command.EffectiveDate} n'est pas au bon format, cela garantira qu'il s'agit bien de DateTime.

Si cela ne fonctionne pas, je viens de créer une formule simple dans un exemple de rapport et le code ci-dessous fonctionne parfaitement dans un champ DateTime:

stringVar EffectiveDateTimeString;
EffectiveDateTimeString := CStr({Command.EffectiveDate}, "dd/MM/yyyy hh:mm:ss");
EffectiveDateTimeString
1
campagnolo_1