Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Datenbank mehr als 24h (https://www.delphipraxis.net/117918-datenbank-mehr-als-24h.html)

API 28. Jul 2008 07:56


Datenbank mehr als 24h
 
Hallo

In Excel habe ich einige Daten, welche das Format [h]:mm aufweisen.
(Anz Std. : Anz. Minuten, keine Uhrzeit)

Nun sollen die Daten in eine Access DB übertragen werden.
Das Format [h]:mm kann aber nicht eingestellt werden, es wird immer in ein DateTime Format umgewandelt.

Zudem sollen diese Felder auch über ein Formular editierbar sein.
D.h eine Umwandlung in Sek. wäre evtl. nicht optimal, da im Formular auch [h]:mm angezeigt werden soll.

Hat jemand eine Lösung hierfür?

Bernhard Geyer 28. Jul 2008 07:58

Re: Datenbank mehr als 24h
 
Nimm einen Float-Wert und definiere

1 = 1 Tag (24 Stunden)
2 = 2 Tage (48 Stunden)
....

API 28. Jul 2008 08:05

Re: Datenbank mehr als 24h
 
Zitat:

Zitat von Bernhard Geyer
Nimm einen Float-Wert und definiere

1 = 1 Tag (24 Stunden)
2 = 2 Tage (48 Stunden)
....

Danke für die Antwort; Verstehe sie jedoch nicht.
Warum soll ich Tage definieren, es sollen doch nur hh:mm angezeigt werden.
Un wo / wie sollte dies definiert werden?

hoika 28. Jul 2008 08:46

Re: Datenbank mehr als 24h
 
Hallo,

ich verstehe dein Problem nicht ganz.
Access ist eine Datenbank (huch, habe ich das gesagt ;) ).

Das Format DateTime ist doch richtig.
Es kann in einem Access-Form auch schön bearbeitet werden
(Form entweder vom Assistenten erzeugt oder DateTimePicker).


Heiko

API 28. Jul 2008 08:51

Re: Datenbank mehr als 24h
 
Zitat:

Zitat von hoika
Das Format DateTime ist doch richtig.

Im DateTime Format wäre doch z.B 34:12 (34h, 12 min) "out of range", oder?

hoika 28. Jul 2008 09:00

Re: Datenbank mehr als 24h
 
Hallo,

kommt drauf an ...

intern wird DateTime als Sekunden (?) ab dem 30.12.1899 (oder der 31.) gespeichert.

DateTime ist ein Float, vor dem Komma stehen die Tage,
nach dem Komma die Stunden des Tages / 24, also ist 12:00 gleich 0.5 (halber Tag)

z.B 34:12 ist also 24 + 10 + 0:12 (=0.2 Stunden)
24 ist 1.0 als Tag, die Stunden sind dann 1.0 (die 24) + 10.2/24 = 1,425

Inwiefern du das mit einem DateTimePicker abbilden kannst, weiss ich jetzt nicht.

Zur Not muss ein normaler Editor her,
und du formst das selber um (so mache ich es in Delphi).


Heiko

API 28. Jul 2008 13:36

Re: Datenbank mehr als 24h
 
Zitat:

Zitat von hoika
Hallo,

intern wird DateTime als Sekunden (?) ab dem 30.12.1899 (oder der 31.) gespeichert.

DateTime ist ein Float, vor dem Komma stehen die Tage,
nach dem Komma die Stunden des Tages / 24, also ist 12:00 gleich 0.5 (halber Tag)

z.B 34:12 ist also 24 + 10 + 0:12 (=0.2 Stunden)
24 ist 1.0 als Tag, die Stunden sind dann 1.0 (die 24) + 10.2/24 = 1,425

Inwiefern du das mit einem DateTimePicker abbilden kannst, weiss ich jetzt nicht.

Heiko

Das Problem ist aber, dass wenn das Feld auf Date / Time gesetzt wird, z.B 33:44 nicht angenommen wird.

mkinzler 28. Jul 2008 13:40

Re: Datenbank mehr als 24h
 
Der Typ nimmt auch Zeitpunkte und nich Zeitspannen auf

API 28. Jul 2008 13:44

Re: Datenbank mehr als 24h
 
Zitat:

Zitat von mkinzler
Der Typ nimmt auch Zeitpunkte und nich Zeitspannen auf

Dessen bin ich mir ja bewusst, und darum habe ich die Frage gestellt

hoika 28. Jul 2008 13:44

Re: Datenbank mehr als 24h
 
Hallo,

ist das ein Access- oder Delphi-Programm ?

In Delphi kannst du ja TMaskEdit benutzen zur Eingabe.

Das Umformen (hin- und zurück) musst du aber selber machen.


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 Uhr.
Seite 1 von 3  1 23      

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