Aktualisierung eines Datenfelds in der Haupttabelle
Hallo,
ich möchte gerne das Feld 'Nächster Tüv Termin' in der Tabelle Fahrzeuge automatisch aktualisieren lassen durch ein Auswahlfeld in einer verknüpften Tabelle.
Das Auswahlfeld 'Grund der Wartung' soll, wenn dort "Tüv" ausgewählt wurde, mit dem aktuellen Datum aus einem Datumsfeld in der gleichen Tabelle das Feld in der Haupttabelle füllen mit einem formatierten Datum(11.2020) und 2 Jahre dazu zählen.
Habe jetzt den Code probiert:
if 'Grund der Wartung' = 6 then
Fahrzeuge.'Nächster Tüv Termin' = format(Datum, "MM.YYYY")
end
Leider passiert da gar nichts? Und wie würde ich die 2 Jahre dazu zählen?
Hat da jemand einen Tip für mich?
Gruß
Mirko
12 Antworten
-
Hallo Mirko,
erstmal: mit "=" vergleichst Du, mit ":=" weist Du einem Feld einen Wert zu. Deshalb wird Dein Code nichts im Feld 'Nächster Tüv Termin' eintragen. Das hier sollte funktionieren:
if 'Grund der Wartung' = 6 then
Fahrzeuge.'Nächster Tüv Termin' := month(Datum)+"."+(year(Datum)+2)
end
lg, Torsten
-
Moin,
man sollte zu spät dann doch keinen Code mehr schreiben, dann übersieht man so etwas mit dem Gleichzeichen!
Leider funktioniert der Code oben aber nicht, er zählt zu dem Datum einfach eine zwei hinten ran, also so 4.20192.
-
Moin,
seltsam, eben in der Console probiert:
month(today()) + "." + (year(today())+2)
Ergebnis: "1.2021"
lg, Torsten
-
Was ist daran seltsam? Du erzeugst eine Zeichenkette aus "1", einem Punkt und "2021". Ergibt "1.2021".
-
Seltsam ist, dass ich genau das auch erwarte, Mirko jedoch mit gleichem Code ein "1.20192" erhält... ;-)
-
Wer weiß, was in "Datum" steht ...?
Wie auch immer, ich würd's wahrscheinlich so machen ("01.2021"):
format(date(year(today()) + 2, month(today()), day(today())), "MM.YY")
Oder so ("2021/01"):
yearmonth(date(year(today()) + 2, month(today()), day(today())))
-
nachdem Ninox in der Lage ist, Monat und Jahr aus 'Datum' zu verarbeiten, dürfte es IMHO wohl auch genau das sein, ein Datumsfeld.
-
Hallo,
also mir sagt er jetzt, dass er die Spalte Datum nicht findet?
Hab es auch schon mit dem Datum in einer Variablen versucht, geht auch nicht?
Der Code von Copytexter und von Torsten funktioniert, aber nur mit today(), nicht wenn er aus dem Datumsfeld lesen soll? Und ja, es ist ein Datumsfeld.
-
Das Feld "Datum" wird aus der Tabelle "Fahrzeuge" geholt, und dort ist es offenbar nicht vorhanden.
-
Hallo,
vorweg: das "+2" müsste bei dem Code tatsächlich mit "year(Datum)" in eine Klammer, also "(year(Datum)+2)". Mit der date()-Funktion sollte es so klappen:
let myDate := Datum;
if 'Grund der Wartung' = 6 then
Fahrzeuge.'Nächster Tüv Termin' := format(date(year(myDate) + 2, month(myDate), day(myDate)), "MM.YY")
end
lg, Torsten
-
Hallo,
perfekt, so funktioniert es einwandfrei!
Danke schön
Gruß
Mirko
-
Content aside
- vor 5 JahrenZuletzt aktiv
- 12Antworten
- 2893Ansichten