Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" 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)