Guten Morgen liebe Access-Gemeinde!
Wahrscheinlich ist die Frage von mir jetzt ganz banal - aber ich komme nicht weiter. (erstelle gerade meine erste Access-DB 8) ). Ich habe ein Datumsfeld, welches als Standardwert wie folgt befüllt wird:
=Jetzt()
Sobald ich aber bei Steuerelementeinhalt "Datum" auswähle (so heißt meine Spalte in der Tabelle) wird kein Standardwert mehr eingefügt. Ich brauche aber den Steuerelementeinhalt sonst wird der Timestamp (das Datum) nicht in meiner Tabelle gespeichert. Oder kann ich das anders lösen?
Freue mich auf eure Tipps!
lg
Mary
Hallo,
welcher Datentyp hat denn das Feld Datum in der Tabelle ?
PS:
=Jetzt() beinhalte auch die Uhrzeit, ist Dir das klar ? Brauchst Du diese ?
Wenn Nein, verwende Datum().
PS2:
Datum als Feldname ist zu vermeiden, verwende z.B. Erfassungsdatum oder ähnlich.
Hallo MzKlMu!
Hallo mein txt_Erfassungsdatum im Formular gibt folgenden Wert als Standardwert zurück: 27.07.2015 10:14:38
Das brauche ich auch so weil es somit ein eindeutiger Timestamp ist.
In der Tabelle ist das Feld Datum als Datum/Uhrzeit definiert.
Danke für den Hinweis - werde das Feld auf "Erfassungsdatum" ändern - schließlich heißt es ja auch im Formular so :-)
lg
Mary
Hallo,
was trägst Du als Steuerelementinhalt ein ?
Hi,
ich habe als Steuerelementinhalt aus meiner Tabelle das Feld Datum (also jetzt Erfassungsdatum). Dorthin soll gespeichert werden.
lg
Mary
Hi,
der Standardwert kommt nur bei neu angelegten Datensätzen zum Zuge - ist dir das klar?
Hi MaggieMay,
ja das würde auch so passen. Ich möchte, dass jedem Datensatz ein eindeutiger Timestamp bei Anlage zugeordnet ist. =Jetzt() Und genau dieser Wert soll in die Tabelle unter "Erfassungsdatum" gespeichert werden.
Aber mein Problem ist, dass dieser Standardwert in meinem Formular nicht angezeigt wird, wenn ich als Steuerelementinhalt das Feld "Erfassungsdatum" der Tabelle angebe. Das brauche ich aber (glaube ich halt), damit das Erfassungsdatum auch in meiner Tabelle gespeichert wird. Oder habe ich einen Denkfehler??? :-\
lg
Mary
Das ist völlig OK so wie du es beschreibst. Kannst du vielleicht einen Screenshot vom Eigenschaftsfenster zeigen, an dem man sieht ob du es auch so umgesetzt hast?
Aahhhh - ich bin auf etwas gestoßen was der Grund sein könnte. Solange meine Tabelle noch leer ist, macht er das mit dem Standardwert. Sobald ich schon Daten in meiner Tabelle habe nimmt er (logischerweise) den ersten Datensatz - somit auch das dort erfasste Datum. Also stelle ich meine Frage jetzt anders:
Wie sage ich dem Formular, dass es beim Öffnen immer einen neuen Datensatz anlegen soll und mir nicht die bereits bestehenden zeigt! :D
Sorry für das "Wirr-Warr"...
Hi,
das bekommst du über die Formulareigenschaft "Daten eingeben = Ja".
Hi Mary,
Zitat von: mariaz3565 am Juli 27, 2015, 09:50:19
Oder kann ich das anders lösen?
Die Antwortet lautet ja.
Im Formular wird das Ereignis "Vor Aktualisierung" genutzt.
Private Sub Form_BeforeUpdate(Cancel As Integer)
If Me.NewRecord Then Me.EingabeDatum = Now
End Sub
Die obige Zeile speichert im Datumsfeld nur bei neu angelegten Daten das Datum.
Siehe Beispiel im Anhang.
Hilft das?
Und am Rande bemerkt: Vermeide access-interne Bezeichnungen für Felder: "Datum" gehört dazu.
Harald
Ich danke euch allen! :-*