Zeit in Tabellenfeld schreiben

Moderator: ModerationP

Zeit in Tabellenfeld schreiben

Beitragvon Gast » 22. Aug 2019, 15:26

Hallo,
Also ich will in einem Tabellenfeld Uhrzeiten erfassen wie UhrzeitStart und UhrzeitEnde
Ich habe das mit Eingabeformaten versucht. Aber die sind nicht zu gebrauchen.
Ich möchte haben so was wie 9:33 und 17:40.
Welchen Datentyp nimmt man da? Soll ja später mit gerechnet werden, wodurch evtl Typ Text ausfällt. Außerdem soll sichergestellt sein, dass der Doppelpunkt da steht.
Kann man auch erreichen, dass 9:33 eingegeben wird, aber dann daraus 09:33 wird? Ist dazu VBA nötig oder kann es Access auch so?
Danke
Conny
Gast
 

Re: Zeit in Tabellenfeld schreiben

Beitragvon KlausMz » 22. Aug 2019, 17:32

Hallo,
das ist der Datentyp "Datum/Uhrzeit".
Als Format (nicht Eingabeformat, das ist was anderes) stellst Du hh:nn ein.
Das erfüllt alle Deine Wünsche, ohne VBA.
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
Benutzeravatar
KlausMz
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 39032
Registriert: 06. Okt 2003, 15:09
Wohnort: Irgendwo in der Pfalz

Re: Zeit in Tabellenfeld schreiben

Beitragvon Gast » 22. Aug 2019, 20:21

Danke,
habe ich jetzt so und man muss wohl den Datumspicker ausschalten, um Fehleingaben für die Uhrzeit zu vermeiden.
Access scheint sich am Doppelpunkt zu orientieren, um eine Zeitangabe zu erkennen. Gibt man 12.12. ein, wird daraus 12.12.2019.
Das darf aber da nicht sein.
Wie kann man sicherstellen, dass immer ein Zeitangabe erfolgt?
Gruß
Conny
Gast
 

Re: Zeit in Tabellenfeld schreiben

Beitragvon knobbi38 » 22. Aug 2019, 21:48

Hallo,

wenn du ein Eingabeformat einstellst, z.B. mit dem Eingabeformat-Assistent, wir der Datumspicker nicht mehr eingeblendet und die Eingabe kann auf Zeitangaben begrenzt werden.

Ulrich
knobbi38
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1174
Registriert: 02. Jul 2015, 14:23

Re: Zeit in Tabellenfeld schreiben

Beitragvon Gast » 23. Aug 2019, 14:08

Hallo Ulrich,
wenn du ein Eingabeformat einstellst

gut das geht, aber es nervt.
Hat man z.B. in der Tabelle 90:90;0;_ eingestellt und im Formular entfernt, so hat man die Platzhalter nicht und kann auch z.B. 9:3 eingeben, wenn 09:03 einzugeben ist. Das ist eine schnelle Eingabe und das Navigieren entfällt.
Blöd ist, dass dann beim Verlassen des Felds 09:09:00 darin steht, was irritiert.
Wahrscheinlich kann man das nur durch Code erreichen oder?
Gruß
Conny
Gast
 

Re: Zeit in Tabellenfeld schreiben

Beitragvon KlausMz » 23. Aug 2019, 14:21

Hallo,
und im Formular entfernt,
und warum entferst Du das im Formular ?
dass dann beim Verlassen des Felds 09:09:00 darin steht

Das wird über das Format (hh:nn) eingestellt.
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
Benutzeravatar
KlausMz
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 39032
Registriert: 06. Okt 2003, 15:09
Wohnort: Irgendwo in der Pfalz

Re: Zeit in Tabellenfeld schreiben

Beitragvon Gast » 23. Aug 2019, 14:36

Hallo,
und warum entfernst Du das im Formular ?

damit man nicht die Platzhalter im Form hat und nervig navigieren muss. Ziel bei einstelligen Zeiten einfach 9:3 eingeben, was zu 09:03 wird; 9:33 zu 09:33 und 19.3 zu 19:03
das wird über das Format (hh:nn) eingestellt

das habe ich in der Tabelle so und da es beim Reinziehen des Felds in Formular vererbt wird, aus genanntem Grund entfernt.
Also doch Code?
Gruß
Gast
 

Re: Zeit in Tabellenfeld schreiben

Beitragvon knobbi38 » 23. Aug 2019, 14:49

Hallo Conny,

wenn du mit den Eingabe- und Ausgabeformaten keine für dich befriedigende Lösung erreichen kannst, bleibt nur der Weg über eine individuelle Programmierung. Wenn das mehr als ein Steuerelement betrifft, würde ich dann gleich eine Wrapperklassen dafür erstellen, welche dann z.B. für alle ausgewählten Textboxen die Zeiteingaben behandelt und eine gleichförmige Zeitdarstellung gewährleistet.
Stichworte hierfür wären die Textbox Change- und Key-Events abzufangen und entsprechend zu behandeln.

Gruß Ulrich
knobbi38
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1174
Registriert: 02. Jul 2015, 14:23

Re: Zeit in Tabellenfeld schreiben

Beitragvon Gast » 23. Aug 2019, 15:06

Hi,
danke
Was sind denn Wrapperklassen?
Hast du ein Bsp?
Gruß
Conny
Gast
 

Re: Zeit in Tabellenfeld schreiben

Beitragvon KlausMz » 23. Aug 2019, 15:57

Hallo,
das habe ich in der Tabelle so und da es beim Reinziehen des Felds in Formular vererbt wird, aus genanntem Grund entfernt.
Du verwechselst gerade das Eingabeformat und das Format. Beides sind 2 ganz verschiedene Dinge und haben nur bedingt was miteinander zu tun und werden auch getrennt eingestellt.
Du musst im Formularfeld das Format setzen auf hh:nn.
Siehe Bild.
Auf den Unterschied zwischen Format und Eingabeformat hatte ich in meiner 1. Antwort schon hingewiesen.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
Benutzeravatar
KlausMz
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 39032
Registriert: 06. Okt 2003, 15:09
Wohnort: Irgendwo in der Pfalz

Re: Zeit in Tabellenfeld schreiben

Beitragvon knobbi38 » 23. Aug 2019, 16:18

Hallo,

eine Wrapperklasse erweitert oder ändert die Funktionalität eines Textboxsteuerelements. Das ist eine gängige Programmiertechnik.
Ich meine, das es bei MSDN sogar ein Beispiel dafür gibt/gab? Hier mal eins für die Datumseingabe:
https://codereview.stackexchange.com/questions/205970/date-input-wrapper-for-textbox

Gruß Ulrich
knobbi38
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1174
Registriert: 02. Jul 2015, 14:23


Zurück zu Access Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 13 Gäste