Neuigkeiten:

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

Mobiles Hauptmenü

Feld automatisch befüllen

Begonnen von Mona_Lisa, Juli 01, 2024, 18:11:04

⏪ vorheriges - nächstes ⏩

Mona_Lisa

Hallo!
Ich habe eine Tabelle, die ich mit einem Formular befüllen lasse.
In einem Feld der Tabelle (A) soll 25 stehen, wenn das Datum (gleiche Tabelle) > 01.06.2024 ist.
Ich habe im Gültigkeitswert der Tabelle =Wenn([Datum]>#01.06.2024#;25;0) eingetragen. Da das nicht funktioniert hat, habe ich es beim Standardwert versucht. Und als 3. Option im Formular bei Standardwert des Feldes.
Ich bekomme es nicht hin.
Wo und wie muss ich es eingeben, dass immer wenn das Datum > 01.06.2024 ist im Feld A 25 steht und dieses ansonsten 0 oder leer ist?
Sorry für die wahrscheinlich für euch einfache Frage. Ich habe leider keinen Eintrag gefunden, den ich abwandeln könnte.
Danke schon mal für eure Hilfe.

MzKlMu

#1
Hallo,
das geht nicht als Standardwert und als Gültigkeitsregel schon mal gar nicht.

kannst Du mal etwas zum Hintergrund des Vorhabens sagen ?

Es scheint mir auch nicht zweckmäßig das Datum hier als festen Wert in der Formel zu verwenden.

Ist das immer der 01.06.2024 ?
Gruß Klaus

ebs17

Zitatsoll 25 stehen, wenn das Datum (gleiche Tabelle) > 01.06.2024 ist
Das ist ein berechneter Wert und sollte als solcher gar nicht in der Tabelle gespeichert werden.
Solch ein berechnetes Feld würde man per Abfrage in eine Weiterverwendung bringen.
Mit freundlichem Glück Auf!

Eberhard

Mona_Lisa

Es werden immer wieder Datensätze neu angelegt oder geändert.

Ich möchte immer, wenn in einem Bestimmten Feld das Datum > 01.06.2024 ist, in einem anderen Feld 25 € stehen haben. Bei allen anderen nichts oder 0 €. Wie mache ich das?


MzKlMu

Hallo,
Du hast Dich jetzt einfach wiederholt, aber keine weiteren Hinweis gegeben.
Und meine Frage hast Du auch nicht beantwortet.

Wenn Du hier Hilfe haben willst, musst Du das schon etwas ausführlicher schildern.
Gruß Klaus

Mona_Lisa

Hallo!
Das Formular befüllt eine Tabelle mit vielen Feldern, die Auskunft über Daten eines Kunden geben.
Grundsätzlich ist einer der Werte , die in der Tabelle stehen und im Formular angezeigt werden soll 25 € wenn das Datum > 01.06.2024 ist. Das Datum ist unterschiedlich. Es kann auch vor dem 01.06.2024 liegen - dann soll in dem Feld 0 stehen oder das Feld leer sein.
Damit die Benutzer in das Feld nicht jedes mal manuell 25 € eintragen müssen, wenn sie einen neuen Datensatz mit Datum > 01.06.2024 anlegen, möchte ich, dass es automatisch drin steht.
Hoffentlich ist es jetzt verständlich.
Danke!

MzKlMu

#6
Hallo,
es ist immer noch nicht klar.
Ist das immer der 01.06.2024 mit dem verglichen wird?
Wird dieser 01.06.2024 auch eingetragen ?
Gruß Klaus

PhilS

Zitat von: Mona_Lisa am Juli 02, 2024, 14:49:14Damit die Benutzer in das Feld nicht jedes mal manuell 25 € eintragen müssen, wenn sie einen neuen Datensatz mit Datum > 01.06.2024 anlegen, möchte ich, dass es automatisch drin steht.
Eine zentrale Frage, die bisher aus meiner Sicht unklar ist:

Gilt diese Regel immer und für alle Datensätze?
Wenn ja, dann ist das Feld komplett überflüssig und kann errechnet werden.

Oder ...
   - gilt das nur für neue Datensätze die ab jetzt eingetragen werden, aber für alte Datensätze gilt es nicht?
   - kann das auch manuell vom Benutzer in Einzelfällen bewusst anders eingetragen werden?
Wenn ja, dann muss hier tatsächlich 25€ als Standardwert für neue Datensätze gesetzt werden.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Mona_Lisa

Hallo!
Das Vergleichs-Datum ist immer der 01.06.2024.
Es können auch andere Daten in dem Feld stehen.
Die 25 € gelten nur für neue Datensätze, die im Feld Datum ein Datum >01.06.2024 haben - also danach angelegt worden sind.
Es ist möglich, dass der Benutzer in Einzelfällen die 25 € überschreibt.
Sorry, dass ich es nicht besser erklären kann.

MzKlMu

Hallo,
ZitatEs können auch andere Daten in dem Feld stehen.
Das ist wieder mal komplett verwirrend, was für andere Daten in welchem Feld ?
Ein Datumsfeld kann nur Datum.
Wenn das Feld überschreibar sein muss, so musst Du etwas VBA bemühen. Im einfachsten Fall so:

Private Sub Datum_AfterUpdate()
    If CLng(Me.Datum) > CLng(#6/1/2024#) Then
        Me.Feldname = 25
    Else
        Me.Feldname = Null
    End If
End Sub
Zur Beachtung: Für das Vergleichsdatum muss das US Format (M/D/YYYY) verwendet werden.

Die Zuweisung von Null leert das Feld.

Ich habe immer noch erhebliche Zweifel dass das sinnvoll ist.

Ist das in 2 Jahren auch noch der 01.06.2024 ?
Gruß Klaus

Mona_Lisa

Hallo!
Mit Daten meinte ich ein anderes Datum, das in dem Datumsfeld steht.
Es ist immer der 01.06.2024 - auch in 3 Jahren.
Mit dem Code hat es funktioniert.
Herzlichen Dank für die Unterstützung!!!