Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Unterschiedliche Jahreszahlformate zulassen
Gehe zu Seite 1, 2  Weiter
zurück: speichern, verwerfen, löschen, schliessen weiter: Formular als Menü, andere Formulare andocken lassen! Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Odie
Erfahrener Einsteiger


Verfasst am:
16. Jul 2009, 09:48
Rufname:

Unterschiedliche Jahreszahlformate zulassen - Unterschiedliche Jahreszahlformate zulassen

Nach oben
       Version: Office 2003

Hi

Gibt es eine Möglichkeit in der Datenblattansicht sowohl zwei- als auch vierstellige Jahreszahlen als Eingabe zuzulassen und als vierstellige Jahreszahl zu speichern?

Odie
KlausMz
Moderator Access


Verfasst am:
16. Jul 2009, 09:51
Rufname:
Wohnort: Irgendwo in der Pfalz


AW: Unterschiedliche Jahreszahlformate zulassen - AW: Unterschiedliche Jahreszahlformate zulassen

Nach oben
       Version: Office 2003

Hallo,
wird da ein vollständiges Datum eingegeben, oder nur eine Jahreszahl?
Ist es also ein Datumsfeld oder ein reines Zahlenfeld?

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
Odie
Erfahrener Einsteiger


Verfasst am:
16. Jul 2009, 11:12
Rufname:

AW: Unterschiedliche Jahreszahlformate zulassen - AW: Unterschiedliche Jahreszahlformate zulassen

Nach oben
       Version: Office 2003

Es ist ein Datumsfeld mit dem Format 'Datum, kurz' und dem Eingabeformat '00.00.0000;0;_'

Odie
MissPh!
Office-VBA-Programmiererin


Verfasst am:
16. Jul 2009, 11:34
Rufname:
Wohnort: NRW

AW: Unterschiedliche Jahreszahlformate zulassen - AW: Unterschiedliche Jahreszahlformate zulassen

Nach oben
       Version: Office 2003

Wenn du ein Eingabeformat vorgibst, wird das wohl nicht klappen, mit der zwei-stelligen Jahreszahl. Ohne Format kann Access das durchaus korrekt umsetzen, zumindest bei aktuellen Jahreszahlen. Es gibt da so eine Grenze um 1930 herum, da funktioniert das nicht unbedingt erwartungsgemäß (>= 30 --> 19xx, < 30 --> 200xx).
_________________
Gruß MissPh!
Odie
Erfahrener Einsteiger


Verfasst am:
16. Jul 2009, 11:52
Rufname:


AW: Unterschiedliche Jahreszahlformate zulassen - AW: Unterschiedliche Jahreszahlformate zulassen

Nach oben
       Version: Office 2003

Das Eingabeformat gebe ich vor um die Punkte nicht mit eintippen zu müssen. Gibt es eine Möglichkeit beides abzudecken? Keine Punkte und trotzdem xx.xx.2009 und xx.xx.09 als xx.xx.2009.

Odie
MissPh!
Office-VBA-Programmiererin


Verfasst am:
16. Jul 2009, 12:41
Rufname:
Wohnort: NRW

AW: Unterschiedliche Jahreszahlformate zulassen - AW: Unterschiedliche Jahreszahlformate zulassen

Nach oben
       Version: Office 2003

Hallo,

wenn du bei deinem Eingabeformat bspw. 010109 eintippst und Enter drückst, wird ein Laufzeitfehler ausgelöst, denn du abfangen kannst. Dann kannst du die Eingabe prüfen, um zu sehen, ob du etwas damit anfangen kannst oder ob sie ganz schrottig ist.

Hierzu kannst du das Error-Ereignis des Formulars aktivieren. Der Error-Code wäre in dem Fall 2279, Screen.ActiveControl.Name müsste dem Namen deines Datumsfelds entsprechen. Auszuwerten wäre die Text-Eigenschaft des Steuerelements.

Ich hoffe, damit kommst du weiter...

_________________
Gruß MissPh!
Odie
Erfahrener Einsteiger


Verfasst am:
16. Jul 2009, 14:41
Rufname:

AW: Unterschiedliche Jahreszahlformate zulassen - AW: Unterschiedliche Jahreszahlformate zulassen

Nach oben
       Version: Office 2003

Also so ganz kriege ich das nicht auf die Reihe.

Habe erstmal das Eingabeformat rausgenommen. Dann im Ereignis 'Beim Verlassen' als Prozedur nur reingeschrieben (erstmal nur testweise)
Code:
Private Sub Meldung_Exit(Cancel As Integer)
    On Error GoTo Fehler
Fehler:
    If Err.Number = 2279 Then MsgBox "Klappt"
End Sub
Klappt aber nicht.

Odie
MissPh!
Office-VBA-Programmiererin


Verfasst am:
16. Jul 2009, 14:51
Rufname:
Wohnort: NRW

AW: Unterschiedliche Jahreszahlformate zulassen - AW: Unterschiedliche Jahreszahlformate zulassen

Nach oben
       Version: Office 2003

Naja, das ist ja jetzt auch ein wenig sinnfrei, den Formatierungsfehler nach Entfernen des Eingabeformats abfangen zu wollen... Razz

Ich hatte eigentlich alle Informationen gegeben:
- Error-Ereignis des Formulars aktivieren und benutzen
- hier dann den Fehler abfangen und behandeln

Beim Verlassen des Feldes ohne Einsatz des Eingabeformates brauchst du eigentlich gar nichts zu tun, da Access schon merkt, ob es ein gültiges Datum ist oder nicht. Da besteht dann eigentlich kein zusätzlicher Handlungsbedarf mehr.

_________________
Gruß MissPh!
Odie
Erfahrener Einsteiger


Verfasst am:
16. Jul 2009, 15:24
Rufname:

Re: AW: Unterschiedliche Jahreszahlformate zulassen - Re: AW: Unterschiedliche Jahreszahlformate zulassen

Nach oben
       Version: Office 2003

MissPh! - 16. Jul 2009, 14:51 hat folgendes geschrieben:
- Error-Ereignis des Formulars aktivieren und benutzen
Funktioniert jetzt

MissPh! - 16. Jul 2009, 14:51 hat folgendes geschrieben:
- hier dann den Fehler abfangen und behandeln
Hier hapert es jetzt. Deinen Hinweis auf Screen.ActiveControl kann ich nicht umsetzen.
Code:
    Dim ctlCurrentControl As Control
   
    Set ctlCurrentControl = Screen.ActiveControl
Hier bleibt ctlCurrentControl aber NULL. Wie kann ich denn den bislang nicht gespeicherte Eingabe prüfen?

Odie
MissPh!
Office-VBA-Programmiererin


Verfasst am:
16. Jul 2009, 15:40
Rufname:
Wohnort: NRW

AW: Unterschiedliche Jahreszahlformate zulassen - AW: Unterschiedliche Jahreszahlformate zulassen

Nach oben
       Version: Office 2003

Mit zwei aus dem Zusammenhang gerissenen Codezeilen kann ich nichts anfangen,
ich sehe immer gern den Kontext, in dem er zur Ausführung kommt.
Zeige also bitte die ganze Prozedur.

_________________
Gruß MissPh!
Odie
Erfahrener Einsteiger


Verfasst am:
16. Jul 2009, 18:46
Rufname:

AW: Unterschiedliche Jahreszahlformate zulassen - AW: Unterschiedliche Jahreszahlformate zulassen

Nach oben
       Version: Office 2003

Die Prozedur mal so wie ich es mir gedanklich vorstelle, auch wenn es wie vorher geschrieben nicht funktioniert.
Code:
Private Sub Form_Error(DataErr As Integer, Response As Integer)
    Dim ctlCurrentControl As Control

    Set ctlCurrentControl = Screen.ActiveControl
    'wenn die Eingabe der Form dd.mm.yy entspricht
    If Format(ctlCurrentControl, "dd.mm.yy") Then
        'in Format dd.mm.yyyy umwandeln
        ctlCurrentControl = Format(ctlCurrentControl, "dd.mm.yyyy")
      Else
        ctlCurrentControl.Undo
        MsgBox "Die Eingabe ist kein Datumsformat"
    End If
End Sub

Odie
MissPh!
Office-VBA-Programmiererin


Verfasst am:
16. Jul 2009, 19:34
Rufname:
Wohnort: NRW

AW: Unterschiedliche Jahreszahlformate zulassen - AW: Unterschiedliche Jahreszahlformate zulassen

Nach oben
       Version: Office 2003

Zunächst einmal solltest du den Fehler-Code abfragen, um sicherzustellen, dass es sich um den hier zu behandelnden Fall handelt. Dann kannst du die Eingabe nicht wie gezeigt auf Gültigkeit prüfen. Der Ausdruck Format(ctlCurrentControl, "dd.mm.yy") wird niemals "wahr" sein, sondern im günstigsten Fall eine Datumsangabe im String-Format liefern.

Dann hatte ich bereits den Hinweis gegeben, dass hier die Text-Eigenschaft des Controls ausgewertet werden müsste. (Nicht die Variable ctlCurrentControl ist NULL, sondern ihre Value-Eigenschaft!)

Ich habe in einem ersten Test einfach mal den eingegebenen Wert mit ctlCurrentControl = ctlCurrentControl.Text übernommen, auf die Gefahr hin, dass dann als Folgefehler so etwas wie "kein gültiger Datumswert" kommt. Was meinst du dazu?

Code:
Code:
Private Sub Form_Error(DataErr As Integer, Response As Integer)
    Dim ctlCurrentControl As Control
    Set ctlCurrentControl = Screen.ActiveControl
    If DataErr = 2279 Then
        ctlCurrentControl = ctlCurrentControl.Text
        Response = acDataErrContinue    ' soweit fertig
      Else
        Response = acDataErrDisplay     ' Fehler anzeigen
    End If
End Sub
BTW:
Es gibt interessante und wichtige Hinweise in der Access-Hilfe zu diesem Ereignis.
Gehe mal im Formularentwurf auf die Ereigniseigenschaft und drücke F1.

_________________
Gruß MissPh!
Odie
Erfahrener Einsteiger


Verfasst am:
17. Jul 2009, 07:30
Rufname:

Re: AW: Unterschiedliche Jahreszahlformate zulassen - Re: AW: Unterschiedliche Jahreszahlformate zulassen

Nach oben
       Version: Office 2003

MissPh! - 16. Jul 2009, 19:34 hat folgendes geschrieben:
Ich habe in einem ersten Test einfach mal den eingegebenen Wert mit ctlCurrentControl = ctlCurrentControl.Text übernommen, auf die Gefahr hin, dass dann als Folgefehler so etwas wie "kein gültiger Datumswert" kommt. Was meinst du dazu?
Soweit komme ich garnicht. Schon bei der Zeile
Code:
    Set ctlCurrentControl = Screen.ActiveControl

bekomme ich einen Laufzeitfehler
Zitat:
Laufzeitfehler '2474'
Für den eingegebenen Ausdruck ist es erforderlich, dass sich das Steuerelement im aktiven Fenster befindet
Sad

Odie
MissPh!
Office-VBA-Programmiererin


Verfasst am:
17. Jul 2009, 10:28
Rufname:
Wohnort: NRW

AW: Unterschiedliche Jahreszahlformate zulassen - AW: Unterschiedliche Jahreszahlformate zulassen

Nach oben
       Version: Office 2003

Wie gehst du vor, testest du im Unterbrechungsmodus? Dann kannst du allerdings nicht auf das Screen-Objekt zugreifen - wie die Fehlermeldung dir zu sagen versucht. Lass den Code einfach mal laufen...
_________________
Gruß MissPh!
Odie
Erfahrener Einsteiger


Verfasst am:
17. Jul 2009, 14:01
Rufname:


Re: AW: Unterschiedliche Jahreszahlformate zulassen - Re: AW: Unterschiedliche Jahreszahlformate zulassen

Nach oben
       Version: Office 2003

MissPh! hat folgendes geschrieben:
Wie gehst du vor, testest du im Unterbrechungsmodus?
Ähm, ja. Ich setze einen Haltepunkt, öffne das Formular und teste mit F8 die einzelnen Prozedurschritte.

MissPh! hat folgendes geschrieben:
Dann kannst du allerdings nicht auf das Screen-Objekt zugreifen - wie die Fehlermeldung dir zu sagen versucht. Lass den Code einfach mal laufen...
Gut, dann überspringt er den Prozedurschritt. Bleibt aber bei
Code:
    ctlCurrentControl = ctlCurrentControl.Text
mit
Zitat:
Laufzeitfehler '2113': Sie haben einen Wert eingegeben, der für dieses Feld nicht zuläsig ist.
hängen.
Ist das der von dir prophezeite Fehler? Muss ich den dann auch noch abfangen? Ich steht voll auf dem Schlauch... Confused

Odie
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 2
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Nur ein bestimmtes Eingabeformat zulassen 2 Marc alle Zahlen probiert 303 27. Sep 2012, 10:31
Marc alle Zahlen probiert Nur ein bestimmtes Eingabeformat zulassen
Keine neuen Beiträge Access Formulare: Unterschiedliche Darstellung Formular je nach PC ? 0 dannym 303 15. Jun 2010, 11:55
dannym Unterschiedliche Darstellung Formular je nach PC ?
Keine neuen Beiträge Access Formulare: Nur einen Datensatz in Unterformular zulassen 2 herrmannplatz 1318 21. Sep 2009, 20:42
herrmannplatz Nur einen Datensatz in Unterformular zulassen
Keine neuen Beiträge Access Formulare: DB-Schließen verhindern, Formular-Schließen zulassen 2 GaWü 911 07. Aug 2009, 08:05
GaWü DB-Schließen verhindern, Formular-Schließen zulassen
Keine neuen Beiträge Access Tabellen & Abfragen: Unterschiedliche Summenergebnisse 2 Falcon 291 06. Mai 2009, 09:47
Falcon Unterschiedliche Summenergebnisse
Keine neuen Beiträge Access Tabellen & Abfragen: Eingabetabelle für Werte für unterschiedliche Tabellen 5 mtr 394 01. Mai 2009, 13:03
mtr Eingabetabelle für Werte für unterschiedliche Tabellen
Keine neuen Beiträge Access Formulare: Unterschiedliche Farben der Zeilen im Endlosformular 13 boyfrawag 7151 07. Jan 2009, 02:28
Willi Wipp Unterschiedliche Farben der Zeilen im Endlosformular
Keine neuen Beiträge Access Formulare: Bearbeiten vorhandener Datensätze zulassen 4 flobuster 292 15. Dez 2008, 10:04
flobuster Bearbeiten vorhandener Datensätze zulassen
Keine neuen Beiträge Access Tabellen & Abfragen: Beziehung zwischen Datenbanken, unterschiedliche Datentypen 0 Apocalyptica666 1009 28. Nov 2008, 10:32
Apocalyptica666 Beziehung zwischen Datenbanken, unterschiedliche Datentypen
Keine neuen Beiträge Access Tabellen & Abfragen: unterschiedliche Felder gruppieren 2 sonixxl 685 05. Feb 2008, 16:22
Stefffano unterschiedliche Felder gruppieren
Keine neuen Beiträge Access Formulare: Wert aus kombifeld in 2 unterschiedliche Tabs schreiben 4 Daniel Kolovski 401 24. Jan 2008, 00:41
Gast Wert aus kombifeld in 2 unterschiedliche Tabs schreiben
Keine neuen Beiträge Access Formulare: gleiches HF, unterschiedliche UFOs 0 tommy22 300 14. Nov 2007, 22:51
tommy22 gleiches HF, unterschiedliche UFOs
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: HTML Forum