DBDateEdit Sprint auf 30.12.1899
-
- Beiträge: 353
- Registriert: Di 17. Feb 2009, 10:44
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
DBDateEdit Sprint auf 30.12.1899
Guten Morgen,
ich habe ein kleines Projekt im Anhang mit einem DBDateEdit. Immer wenn ich im DBNavigator auf das "+" drücke und einen neuen Datensatz eingeben will springt das DBEdit auf den 30.12.1899 und ich muß mein Wunschdatum händisch eingeben, kann es nicht über den Kalender wählen.
Was mache ich falsch?
Viele Grüße
Volker
ich habe ein kleines Projekt im Anhang mit einem DBDateEdit. Immer wenn ich im DBNavigator auf das "+" drücke und einen neuen Datensatz eingeben will springt das DBEdit auf den 30.12.1899 und ich muß mein Wunschdatum händisch eingeben, kann es nicht über den Kalender wählen.
Was mache ich falsch?
Viele Grüße
Volker
- Dateianhänge
-
Archiv.zip
- (800.81 KiB) 54-mal heruntergeladen
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1646
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: DBDateEdit Sprint auf 30.12.1899
Dieses Datum ist der Tag 0 im TDateTime.
Abhängig von der Datenbank könntest Du dem Datumsfeld einen Defaultwert "Now" geben.
Abhängig von der Datenbank könntest Du dem Datumsfeld einen Defaultwert "Now" geben.
-
- Beiträge: 353
- Registriert: Di 17. Feb 2009, 10:44
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
Re: DBDateEdit Sprint auf 30.12.1899
Hallo,
kann man "Now" oder "Today" oder ähnliches über den Objektinspektor zuweisen, oder nimmt man das Button-Click-Ereignis? Button-Click o.ä. funktioniert vermutlich immer.
Ein Datum-Picker ohne Datenbank-Anbindung macht automatisch das aktuelle Tagesdatum wenn man auf die Schaltfläche drückt. Deshalb dachte ich, DBDateEdit macht das genauso.
kann man "Now" oder "Today" oder ähnliches über den Objektinspektor zuweisen, oder nimmt man das Button-Click-Ereignis? Button-Click o.ä. funktioniert vermutlich immer.
Ein Datum-Picker ohne Datenbank-Anbindung macht automatisch das aktuelle Tagesdatum wenn man auf die Schaltfläche drückt. Deshalb dachte ich, DBDateEdit macht das genauso.
Re: DBDateEdit Sprint auf 30.12.1899
DBDateEdit soll den Inhalt der DB zeigen!
Wenn du einen neuen Datensatz anlegst und keinen Default Wert in der DB für das Feld angegeben hast, ist der normalerweise 0
0 ist eben auch das Datum: 31.12.1899
Wenn du einen neuen Datensatz anlegst und keinen Default Wert in der DB für das Feld angegeben hast, ist der normalerweise 0
0 ist eben auch das Datum: 31.12.1899
Gruß, Michael
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1646
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: DBDateEdit Sprint auf 30.12.1899
So hatte ich das auch gemeint. Mich aber etwas unglücklich ausgedrückt.
-
- Beiträge: 582
- Registriert: Sa 22. Okt 2016, 23:12
- OS, Lazarus, FPC: W10, L 3.8
- CPU-Target: 32+64bit
- Wohnort: Dresden
Re: DBDateEdit Sprint auf 30.12.1899
Im Objektinspektor gibt es die Eigenschaft: "DefaultToday", den auf True setzen?
LG Maik
Windows 10,
- Lazarus 3.8 (stable) + fpc 3.2.2 (stable)
- Lazarus 4.99 (trunk) + fpc 3.3.1 (main/trunk)
Windows 10,
- Lazarus 3.8 (stable) + fpc 3.2.2 (stable)
- Lazarus 4.99 (trunk) + fpc 3.3.1 (main/trunk)
-
- Beiträge: 353
- Registriert: Di 17. Feb 2009, 10:44
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
Re: DBDateEdit Sprint auf 30.12.1899
Aahh, jetzt verstehe ich das!
DefaultToday bringt nur was, wenn man die kleine "15", sprich das Icon drückt um den Kalender zu wählen. Dann kommt im darunter liegenden Kalender der heutige Tag. Aber nicht, wenn man das "+" am DBNaviagtor drückt.
Jetzt wo Ihr's sagt ist's mir auch klar. Ich dachte, wenn ich mit dem "+" am DBNavigator einen Datensatz hinzufügen möchte, würde die im Objektinspektor gesetzte Eigenschaft "DefaultToday auf True" bewirken, dass im DBDateEdit Today als Vorschlag kommt und nicht der 31.12.1899.
Wenn aber nur das Datum in der Datenbank angezeigt wird, dann nimmt DBEditor bei "+" den 31.12.1899. Ich muß bei "+" den Quelltext entsprechend ändern und mitteilen, dass ich Today haben will.
Jetzt verstehe ich es. Wobei ich es schade finde, dass es nicht so reagiert wie ich's mir vorgestellt habe
Vielen Dank!
DefaultToday bringt nur was, wenn man die kleine "15", sprich das Icon drückt um den Kalender zu wählen. Dann kommt im darunter liegenden Kalender der heutige Tag. Aber nicht, wenn man das "+" am DBNaviagtor drückt.
Jetzt wo Ihr's sagt ist's mir auch klar. Ich dachte, wenn ich mit dem "+" am DBNavigator einen Datensatz hinzufügen möchte, würde die im Objektinspektor gesetzte Eigenschaft "DefaultToday auf True" bewirken, dass im DBDateEdit Today als Vorschlag kommt und nicht der 31.12.1899.
Wenn aber nur das Datum in der Datenbank angezeigt wird, dann nimmt DBEditor bei "+" den 31.12.1899. Ich muß bei "+" den Quelltext entsprechend ändern und mitteilen, dass ich Today haben will.
Jetzt verstehe ich es. Wobei ich es schade finde, dass es nicht so reagiert wie ich's mir vorgestellt habe

Vielen Dank!
Re: DBDateEdit Sprint auf 30.12.1899
Hattest du sowas schon mal?ErnstVolker hat geschrieben: Do 8. Sep 2022, 18:25 Wobei ich es schade finde, dass es nicht so reagiert wie ich's mir vorgestellt habe![]()

Gruß, Michael
-
- Beiträge: 179
- Registriert: Mi 2. Sep 2015, 11:09
- OS, Lazarus, FPC: Lazaurus 2.2.4 FPC 3.2.2
- CPU-Target: Windows 32/64bit
Re: DBDateEdit Sprint auf 30.12.1899
Hallo zusammen,
Der 31.12.1899 wäre aber nicht 0, sondern 1.
Ist der Wert des Datenfeldes 0 dann wird im DBDateEdit bei aktiviertem DefaultToday das aktuelle Datum angezeigt.
Nein!six1 hat geschrieben: Do 8. Sep 2022, 14:06 DBDateEdit soll den Inhalt der DB zeigen!
Wenn du einen neuen Datensatz anlegst und keinen Default Wert in der DB für das Feld angegeben hast, ist der normalerweise 0
0 ist eben auch das Datum: 31.12.1899
Der 31.12.1899 wäre aber nicht 0, sondern 1.
Auch Nein!ErnstVolker hat geschrieben: Do 8. Sep 2022, 18:25 DefaultToday bringt nur was, wenn man die kleine "15", sprich das Icon drückt um den Kalender zu wählen. Dann kommt im darunter liegenden Kalender der heutige Tag. Aber nicht, wenn man das "+" am DBNaviagtor drückt.
Ist der Wert des Datenfeldes 0 dann wird im DBDateEdit bei aktiviertem DefaultToday das aktuelle Datum angezeigt.
Re: DBDateEdit Sprint auf 30.12.1899
ja, ok, ok, dann ist es der 30.12.1899 habe das so aus dem Kopf geschrieben.
Für die Problematik an sich ist dies auch unerheblich; du hast verstanden, was ich meine.
Für die Problematik an sich ist dies auch unerheblich; du hast verstanden, was ich meine.
Gruß, Michael
-
- Beiträge: 179
- Registriert: Mi 2. Sep 2015, 11:09
- OS, Lazarus, FPC: Lazaurus 2.2.4 FPC 3.2.2
- CPU-Target: Windows 32/64bit
Re: DBDateEdit Sprint auf 30.12.1899
Hallo zusammen,
DBDateEdit zeigt bei einem neuen Datensatz den hinterlegten Hint (oder nichts an), wenn die Property DefaultToday nicht gesetzt ist und entsprechend das aktuelle Datum, wenn DefaultToday gesetzt wurde.
Und dies mit einem eigenen Test-Projekt und mit dem des TE (allerdings ohne Report)
Niemals wird aber der 30.12.1899 angezeigt.
Kann wirklich jemand tatsächlich ein Fehlverhalten der DBDateEdit-Komponente nachvollziehen?
Also, ich kann das beschriebene "Problem" des TE nicht nachvollziehen.ErnstVolker hat geschrieben: Do 8. Sep 2022, 08:04 ich habe ein kleines Projekt im Anhang mit einem DBDateEdit. Immer wenn ich im DBNavigator auf das "+" drücke und einen neuen Datensatz eingeben will springt das DBEdit auf den 30.12.1899 und ich muß mein Wunschdatum händisch eingeben, kann es nicht über den Kalender wählen.
DBDateEdit zeigt bei einem neuen Datensatz den hinterlegten Hint (oder nichts an), wenn die Property DefaultToday nicht gesetzt ist und entsprechend das aktuelle Datum, wenn DefaultToday gesetzt wurde.
Und dies mit einem eigenen Test-Projekt und mit dem des TE (allerdings ohne Report)
Niemals wird aber der 30.12.1899 angezeigt.
Kann wirklich jemand tatsächlich ein Fehlverhalten der DBDateEdit-Komponente nachvollziehen?