Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi 1 DATETIME Feld von DB auf 2 Felder aufteilen (mit DB-Bezug) (https://www.delphipraxis.net/138848-1-datetime-feld-von-db-auf-2-felder-aufteilen-mit-db-bezug.html)

Burki 18. Aug 2009 14:39

Datenbank: ADO • Zugriff über: TDATASET

1 DATETIME Feld von DB auf 2 Felder aufteilen (mit DB-Bezug)
 
Hi,

ich habe in meiner ADO Datenbank ein Datum/Uhrzeit Feld.
Dieses will ich auf meiner Maske allerdings einmal als Datumsfeld (tplannerdatepicker) darstellen, als auch als Uhrzeitfeld (z.B. dbedit). Also in 2 getrennten Feldern. Am liebsten wäre mir sogar mit DB-Bezug, also daß ich nicht mehr selbst noch konvertieren muß (EncodeDatetime oder StrToDateTime).
Gibts da ne Möglichkeit?

Thx,
Burki

mkinzler 18. Aug 2009 14:42

Re: 1 DATETIME Feld von DB auf 2 Felder aufteilen (mit DB-Be
 
Du kansnt das Feld doch doppelt zuordnen

Burki 18. Aug 2009 15:18

Re: 1 DATETIME Feld von DB auf 2 Felder aufteilen (mit DB-Be
 
edit: in der table hab ich beim Feld Timestamp die Eigenschaft "Displayformat" auf "dd.mm.yyyy" gesetzt.
Jetzt kommt zwar das Datum korrekt im Datetimepicker aber die Uhrzeit wird falsch angezeigt.
Hat nicht jemand ne ganz einfach Anleitung?
1. Feld nur Datum
2. Feld nur Uhrzeit (hh:ss) , am Besten Maskedit

alzaimar 18. Aug 2009 17:26

Re: 1 DATETIME Feld von DB auf 2 Felder aufteilen (mit DB-Be
 
Du könntest über das OnSetText-Ereignis nur das Datum bzw. die Uhrzeit des Feldinhaltes setzen. Das Datums-Eingabefeld sollte nur das Datum liefern (ganzzahliger Anteil), das Zeitfeld eben nur die Zeit (Nachkommaanteil des TDatetime-Wertes).
Zitat:

Zitat von mkinzler
Du kansnt das Feld doch doppelt zuordnen

Würde dann nicht das Setzen der Zeit den Datumsanzeil überschreiben?

mkinzler 18. Aug 2009 18:00

Re: 1 DATETIME Feld von DB auf 2 Felder aufteilen (mit DB-Be
 
Wenn man datensensitive Kompos nimmt ja. Wenn man aber die Zuweisung und das Update manuell mache kann man mit Trunc() und Frac() die entsprechende Teil extrahieren und wieder zu einem TDateTime zusammensetzen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:51 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz