Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Access 2007 - Datumsformat Tage,Stunden,Minuten

Frage Microsoft Microsoft Office

Mitglied: Hugi1987

Hugi1987 (Level 1) - Jetzt verbinden

03.06.2011 um 10:50 Uhr, 9812 Aufrufe, 5 Kommentare

Hallo,

bei einer Accessauswertung für Zeitbuchungen sollen die Datenwerte, z.B. 0,25 (=15 Minuten) im Format Tag:Stunden:Minuten (also 00:00:15) abgebildet werden.
Das Format hh:nn liefert zumindest schon einmal die Stunden und die Minuten.
dd liefert leider den Tag der Zeitbuchung, z.B. 31 für den 31. einen Monats und nicht den Summenwert der gebuchten Zeit in Tagen.
Wie lautet das Format um die Anzahl der Tage anzuzeigen?

Ich danke euch für eure Mühe.

Grüße Hugi
Mitglied: NetWolf
03.06.2011 um 11:44 Uhr
Moin Moin,

du unterliegst da einem Irrtum, das "Format" das du suchst gibt es nicht als Datums-/Zeitformat.
Deine Werte sind mathematisch berechnete Zahlen und keine gültigen Datumswerte. D.h. du musst dir selbst den Zeichenstring zusammensetzen und als Text speichern.

Beispiel: TextVar = SummeTage & ":" & SummeStunden & ":" & SummeMinuten
Mit führenden Nullen, wird es etwas umfangreicher

Grüße aus Rostock
Wolfgang
(Netwolf)
Bitte warten ..
Mitglied: Hugi1987
05.06.2011 um 19:30 Uhr
ah ok, stimmt da hab ich mich leider getäuscht
wie krieg ich nun aber eine zahl, z.B. 1800 (=30min) in das format Tag:Stunden:Minuten?
wo kann ich im access genau SummeTage & ":" & SummeStunden & ":" & SummeMinuten angeben?

tut mir leid, aber mit access hatte ich bisher nicht viel am hut, wäre klasse wenn du mir einen tipp hättest

danke und viele grüße
Bitte warten ..
Mitglied: Biber
05.06.2011 um 21:54 Uhr
Moin Hugi1987,

dein Ansatz mit dem Datumsformat "dd:hh:nn:ss" war schon richtig, aber nicht ganz zu Ende gedacht.
Zwei Denkfehler sind enthalten.
a) mit "1800" als Datums/Zeitwert kann Access natürlich wenig anfangen - die "Grundeinheit" ist immer "ein Tag" gleich 24 Stunden gleich 24*60*60 sec gleich 86400 Sekunden. Erst der Quotient 1800/86400 ist eine gültige Zeitangabe.

b) Wenn du deine 1800/86400 [sec] damit anzeigen lässt, dann wird natürlich der Wert 1800/86400 vom Beginn der Access-Zeitrechnung an gerechnet angezeigt.
Also vom 30.12.1899 an.
Du willst aber eigentlich - zumindest sollte es ausreichen - eine Summe von Stunden in diesem Monat anzeigen.

Das macht die Sache doch handhabbar.

Leider kenne ich Aufbau deiner Tabelle/deines Berichts nicht, deshalb ein Beispielselect auf irgendeine Tabelle mit einem Satz oder mehr:
01.
SELECT  distinct   format(1800/86400, "yyyy:mm:dd:hh:nn:ss") , 
02.
 format(  dateserial(year(now), month(now), 0)+(864000+1800)/(86400), "dd:hh:nn:ss")")  
03.
 FROM whatever;
Erläuterung:
Ergebnis der Abfrage ist nur ein Datensatz, egal wie viele Datensätze die beliebige "whatever"-Tabelle enthält.
Im ersten Feld wird angezeigt
1899:12:30:00:30:00	
--> die Demo für nackte 1800 sec vom Beginn der Accesszeitrechnung an im Format "yyyy:mm:dd:hh:nn:ss"
--> Ergibt 0 Tage, also den 30.12.1899 plus 0 Stunden + 30 Minuten (1800 sec)

Im zweiten Feld "lasse ich rechnen" 10 Tage plus 1800 Sec "aber alle in diesem Monat".
10 Tage sind, wenn ein Tag gleich 86400 Sekunden hat, logischerweise 864000 Sekunden. Bekomm ich hin.
Zusätzlich gebe ich als Startwert mit den letzten Tag des Vormonats mit DateSerial( diesJahr, dieser Monat, null Tage)
Ist ein bisschen um die Ecke formuliert, aber um Access auszutricksen reicht es.
Angezeigter Wert in dem von dir gewünschten Format "dd.hh:nn:ss" ist
10:00:30:00
--> 10 Tage, 0 Stunden 30 minuten.

Works as designed.

Grüße
Biber
Bitte warten ..
Mitglied: Hugi1987
06.06.2011 um 10:47 Uhr
Danke für die Hilfe, aber ich tu mich leider nochetwas schwer mit der Umsetzung :-P
Ich habe gerade gerade entdeckt, dass sich die gebuchten Zeiten, z.B. 1800, auf Basis von zwei Zeiten errechnen lässt.
Startzeit: 31.05.2011 11:36:38
Endzeit: 31.05.2011 12:06:38
=Zeitbuchung 1800 (30Minuten)

Gibt es vielleicht eine einfachere Methode, mit der ich einfach mithilfe von zwei Datumwerten die Zeitdauer berechnen lassen kann?
Die Ausgabe sollte wieder im Format dd:hh:nn erfolgen.
Evtl. datediff?Leider konnte ich mit datediff lediglich ein Wert berechnen lassen wie z.B. Stunde ODER Minute, nicht beides zusammen.

Freundliche Grüße
Bitte warten ..
Mitglied: Biber
06.06.2011 um 18:45 Uhr
Moin Hugi1987,

Zitat von Hugi1987:
Danke für die Hilfe, aber ich tu mich leider nochetwas schwer mit der Umsetzung :-P
Ich habe gerade gerade entdeckt, dass sich die gebuchten Zeiten, z.B. 1800, auf Basis von zwei Zeiten errechnen lässt.
Startzeit: 31.05.2011 11:36:38
Endzeit: 31.05.2011 12:06:38
=Zeitbuchung 1800 (30Minuten)

Du kannst es mathetisch hin- und herwenden wie du wilst - wenn du "nur" die Differenz deiner "Endzeit minus Startzeit" in der Hand hast, dann sind es insgesamt 0 Jahre, 0 Monate, 0 Tage und ein büschen Kroppzeug seit Beginn von Access' Stund Null. Also bekämst du ohne die Korrektur oben wieder den 30.12.1899 00h30 angezeigt... bzw, den Tag 30.

Du kannst natürlich auch, wenn du dein Access schonen möchtest, auch selbst aus 1800 und geteilt durch 60 und Modulo 60 umrechnen in Stunden und Minuten.
Dann musst du eben Stunden, Minuten und Sekunden selbst berechnen, als jeweils zweistelligen String formatieren mit Anzeige eventueller führenden Nullen.

Aber wenn du doch die Sekundendifferenz schon als 1800 in der Hand hast, dann kannst du doch diese einzige Veränderliche in der Miniformel einfach reinfallen lassen... so what?

Gibt es vielleicht eine einfachere Methode, mit der ich einfach mithilfe von zwei Datumwerten die Zeitdauer berechnen lassen kann?
Kann sein... bestimmt.... aber ich kenne sie nicht.
Musst du noch ein wenig auf die Spezialisten warten.

Freundliche Grüße
Ebendiese zurück
Biber
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Microsoft Office
gelöst Access 2007 (2)

Frage von Everest zum Thema Microsoft Office ...

Microsoft Office
Access ein Script alle X Minuten ausführen und bei Bedarf stoppen (5)

Frage von thomas1972 zum Thema Microsoft Office ...

Datenbanken
gelöst Ersten 5 Werktage bzw. erster Montag + 5 Tage als Kriterium in Access Query (2)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Datenbanken
Access Checkbox mit Kombifeld und dann filtern

Frage von atomas42 zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...