| |
Anzeigen |
|
|
Social Bookmark Script |
|
|
|
 |
aktuelles Datum mitspeichern |
capo
Administrator
    

Dabei seit: 24.06.2007
Beiträge: 41
Einsatzart von VDF: privat Anwenderstatus: Newbie Herkunft: Frankedahl Betriebssystem: WinXP
 |
|
| aktuelles Datum mitspeichern |
 |
Hallo,
wie kann man einem Datum das aktuelle Datum mit geben?
Ein Datensatz soll gespeichert werden. Ein Feld beinhaltet das Datum der Speicherung. Als Vorgabe soll die erste Speicherung maßgebend sein. Eine Änderung sollte möglich sein.
|
|
13.10.2007 09:52 |
|
|
Matthias
Super Moderator
   
Dabei seit: 09.07.2007
Beiträge: 233
Einsatzart von VDF: gewerblich Anwenderstatus: VDF-Entwickler Herkunft: Niedernhausen Betriebssystem: XP, Vista, Win7, 2008 Ser
 |
|
| RE: aktuelles Datum mitspeichern |
 |
Das aktuelle Datum bekomme ich in DataFlex mit dem Kommando Sysdate4
z.B.
Date dHeute
Sysdate4 dHeute
Einfacher geht es noch, wenn man die VDFQuery-Library benutzt (unter ftp.dataaccess.com). Die hat eine ganze Reihe von Zeitfunktionen.
Hier kann man dann z.B. im DataDictionary einen Default-Value durch Angabe vom
(dSysdate())
angeben.
Viel Spaß!
|
|
13.10.2007 16:03 |
|
|
Stamic
Jungspund

Dabei seit: 01.10.2007
Beiträge: 17
Einsatzart von VDF: privat Anwenderstatus: Programmierer Herkunft: Villingen-Schwenning
en
 |
|
Hallo zusammen,
erst mal vielen Dank für die Lösung, genau das haben wir vor Kurzem auch gebraucht.
Mir ist allerdings noch unklar, wie ich die VDFQuery-Library ins Studio einbinden kann und wie ich die Klasse dann im DD benutze, dass ich das Default-Value auf (Sysdate()) setzen kann.
In der Readme steht, dass man die Library in der Class-Palette hinzufügen soll, hab ich auch gemacht, aber es wäre nett, wenn ihr mir erklären könntet, wie es dann weiter geht.
Vielen Dank im Voraus,
Gruß
Stamic
|
|
15.10.2007 16:49 |
|
|
Roman Köhler
Administrator
    

Dabei seit: 29.08.2007
Beiträge: 202
Einsatzart von VDF: gewerblich Anwenderstatus: VDF-Entwickler Herkunft: Mannheim Betriebssystem: Windows XP
 |
|
Hallo Stamic,
ich denke, Ich kann Dir da etwas weiterhelfen. Ich kenne zwar nicht den namen dieser Erweiterung, aber üblicherweise bindet man solche Geschichten mit use ???.pkg an möglichst zentraler Stelle, d.h. in der Sub der dfallent.pkg ein. Wenn Du das getan hast, kannst Du überall in Deinem Programm auf diese Methoden zugreifen.
Die folgenden Codes schribst Du in Dein DataDictionary:
Zur Belegung des Anlagedatums:
Procedure Creating
Forward Send Creating
move (tagesdatum()) to auftrag.anlage_datum
move (sys_sb(co)) to auftrag.anlage_sb
move (sys_prg(co)) to auftrag.anlage_prg
End_Procedure // Creating
Falls Du auch noch Daten zur letzten Änderung speichern willst:
Procedure Update
Forward Send Update
if (Current_Record(self)) begin
if Operation_Origin eq Current_Object begin
move (tagesdatum()) to auftrag.aenderung_datum
move (sys_sb(co)) to auftrag.aenderung_sb
move (sys_prg(co)) to auftrag.aenderung_prg
end
end
End_Procedure // Update
Zur Erläuterung:
(tagesdatum()): Meine Funktion zur Ermittlung des aktuellen Datums.
(sys_sb(co)): Meine Funktion zur Ermittlung des sktuallen Sachbearbeiters
(sys_prg(co)): Meine Funktion zur Ermittlung des benutzten Programmes (View)
if (Current_Record(self)) begin
Bewirkt, dass die beinhalteten Zeilen nur dann ausgeführt werden, wenn der Datensatz bereits existiert, d.h. geändert wird.
if Operation_Origin eq Current_Object begin
Bewirkt, dass die beinhalteten Zeilen nur dann ausgeführt werden, wenn auch tatsächlich dieser Datensatz geändert wird und nicht über die Speicherung einer Kinddatei ein Save-Befehl ausgelöst, tatsächlich aber nichts geändert wird.
Ich hoffe, das hilft Dir weiter.
LG
Roman
|
|
16.10.2007 08:29 |
|
|
Stamic
Jungspund

Dabei seit: 01.10.2007
Beiträge: 17
Einsatzart von VDF: privat Anwenderstatus: Programmierer Herkunft: Villingen-Schwenning
en
 |
|
Guten Morgen Roman,
vielen Dank für deine Infos, es funktioniert!
Für alle, die es auch brauchen:
Zuerst die Dateiendungen *.utl und *.nui über Tools--Configure Studio--File Extensions registrieren, dann in der Class Palette mittels rechter Maustaste -- Add Library die VDFQuery.sws einbinden.
Zu guter Letzt noch in der src mittels "use dates.utl" die dates einbinden, geht auch in einem eigenen package, hauptsache "oben"
Wenn das alles gemacht ist, einfach im Database-Builder das DefaultValue auf (dSysdate()) setzten und freuen
Danke noch mal!
Grüße
Stamic
|
|
16.10.2007 09:44 |
|
|
|
|
|
 |
|