Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Datumswert direkt eintragen mit Checkbox als Kriterium

Begonnen von Frank77, Mai 09, 2012, 17:32:09

⏪ vorheriges - nächstes ⏩

Frank77

Hallo !
Ich würden Gere in einer Tabelle in ein Datums Feld das aktuelle Datum  eintragen lassen wenn Das Ja/Nein Feld den Wert True aufweist und wer dann False wieder leeren
Ich habe das im Datums Feld unter standartwert so versucht
=Wenn([VeranstaltungsStandGeldBezahlt]=1;Datum();"--.--.----")
Das leider nicht

Meine Frage wäre kann das überhaupt realisiert werden oder muss da aus einem Formular gemacht werden mit VBA

Gruß Frank 
Selbstständig = Selbst und Ständig

MzKlMu

Hallo,
in einer Tabelle geht das nicht. Am besten im Formular mit VBA im Ereignis "Nach Aktualisieren" des Ja/Nein Feldes.

If Me.[VeranstaltungsStandGeldBezahlt]= -1 Then
     Me.Datumsfeld = Date
Else
     Me.Datumsfeld = Null
End If


PS:
True ist -1 und nicht 1
Gruß Klaus

Beaker s.a.

Hallo,
ZitatTrue ist -1 und nicht 1
Hatten wir das nicht schon mal?
Access interpretiert jeden Wert UNGLEICH 0 als True.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Josef P.

#3
Hallo!

ZitatAccess interpretiert jeden Wert UNGLEICH 0 als True.
Das hilft aber nur bei einem Boolean-Vergleich (wenn eine Zahl nach Boolean konvertiert wird) und nicht bei einem Zahlenvergleich, wenn ein Boolean-Wert in eine Zahl konvertiert wird.

Die Aussage "True ist -1 und nicht 1" ist vollkommen korrekt, wenn sie sich auf die VBA-Konvertierung eines Boolean-Wertes in eine Zahl bezieht.
Aber die Zahl 1 oder auch 34523982 kann auch als True interpretiert werden, wenn eine Konvertierung nach Boolean erfolgt.

Const x As Boolean = True

If x = 1 Then
  MsgBox "Mich siehst du nie!"
End If

If x = -1 Then
  MsgBox "Hier kommt es zu einem Zahlenvergleich: CInt(True) entspricht -1"
End If

If x = CBool(27) Then
  MsgBox "Hier kommt es zu einem Boolean-Vergleich: CBool(27) ergibt True"
End If


/edit:
ZitatIf Me.[VeranstaltungsStandGeldBezahlt]= -1 Then
Warum hier -1 statt True verwendet wird, verstehe ich allerdings nicht.
Auch in einer Abfrage würde ich True statt -1 schreiben.

mfg
Josef

Beaker s.a.

Hallo Josef,
Danke für Aufklärung.
Ist mir nie aufgefallen, da ich Booleanwerte eigentlich
immer direkt nach True/False abfrage; - wozu sind
Konstanten da?
@MzKlMu
Entschuldigung; - das kommt davon, wenn man so
"Weisheiten" unreflektiert/-getestet weitergibt.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)