Zeit in Crystal Reports andrucken
Crystal Report konvertiert mit den Standardeinstellungen ein 'Datetime' Feld in ein Datum. Um trotzdem einen Zeitwert andrucken zu können, gibt es folgende Möglichkeit:
In der Prozedur wird die Zeit in einen String konvertiert
convert(char(8), ve_belhistkopf.erfdte, 108)
In Crystal Reports wird dieser String in ein Zeitfeld umgewandelt
Time(Val(Mid({INFONIQA ONE 200.erfzeit}, 1, 2)),Val(Mid({INFONIQA ONE 200.erfzeit}, 4, 2)),Val(Mid({INFONIQA ONE 200.erfzeit}, 7, 2)))
User definierte Funktionen
In Crystal ist es möglich, eigene Funktionen in Visual Basic zu programmieren und via DLL an Crystal Reports zur Verfügung zu stellen. Diese Funktionen stehen in Crystal Reports im Formula Editor unter Functions => Additionals Functions zur Verfügung.
Vorgehen:
-
In Visual Basic ein neues ActiveX DLL Projekt erstellen.
-
Der Name für das DLL muss wie folgt aussehen: CRUFLxxx.DLL. An der Stelle der xxx kann man den eigenen Namen eintragen. Wichtig: Das Projekt muss den gleichen Namen wie das DLL haben.
-
Die Funktion kann nun in Visual Basic programmiert werden. Sie muss die Rechte PUBLIC besitzen.
Bsp: Public Function addWert(zahl1 As Integer) As Integer addWert = zahl1 + 3
End Function
-
DLL erstellen
DLL registrieren mit regsvr32 CRUFLxxx.DLL
-
Funktion in Crystal verwenden. Der Name der Funktion in Crystal ist wie folgt zusammengesetzt: xxx vom DLL Namen, Classname und Funktionsname (xxxfktaddWert()):
Weitere Hinweise zu diesem Thema können in der Doku Techref.pdf auf der Crystal CD entnommen werden.