0

Abrufen von Ablaufdaten

Hallo Zusammen,ich habe mal wieder eine Frage. 

Ich möchte in zwei Tabellen die Ablaufdaten von Produkten Checken lassen. Wenn eines dieser Ablaufdaten das heutige Datum dann überschreitet soll das Feld Status auf den Wert 4(Abgelaufen) Springen. Das ganze soll nach dem öffnen er Datenbank geschehen.

Für eine Tabelle habe ich dies Bereits hinbekommen. Aber irgendwie klappt es für die zweite nicht, wenn ich den selben Code noch einmal dahinter hänge. Das ganze soll noch einmal für die Tabelle Kisteninhalt geschehen. Der Code für die erste Tabelle ist: 

for i in (select 'Lager')[Ablaufdatum < today()] do
i.(Status := 4)

Vielen Dank im Vorraus 

5 Antworten

null
    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Patrik,

    wenn die Tabellen nicht miteinander verknüpft sind und die Prüfung in einer Formel geschehen soll, kann man dies sogar ohne Schleifen erledigen:

    ---

    select  'Lager' [Ablaufdatum < today()].(Status := 4);

    select  'Kisteninhalt' [Ablaufdatum < today()].(Status := 4)

    ---

    Leo

    • AlinaRon
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Leo,

    danke, das hat super geklappt. Nun weiß ich auch wie das funktioniert:). 

    Eine Frage hab ich jedoch noch. Ich möchte beim öffnen der Datenbank eine alert Meldung bekommen, wenn in einer der beiden Tabellen das Ablaufdatum überschritten wurde. Kann ich das einfach dahinter hängen?

    Danke im Vorraus

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Patrik,

    ich weiß nicht wie du dann mit abgelaufenen Produkten verfährst. Theoretisch kann man tatsächlich so schreiben:

    ---

    (select Lager)[Ablaufdatum < today()].(Status := 4);
    (select Kisteninhalt)[Ablaufdatum < today()].(Status := 4);
    if (select Lager)[Status = 4] or (select Lager)[Status = 4] then
    alert("Folgende produkte sind Abgelaufen:

    " + if (select Lager)[Status = 4] then
    "Lager:

    " + join((select Lager)[Status = 4].Produktname, "

    ")
    end + if (select Kisteninhalt)[Status = 4] then
    "

    Kisteninhalt:

    " + join((select Kisteninhalt)[Status = 4].Produktname, "

    ")
    end)
    end

    ---

    Leo

    • AlinaRon
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Perfekt, danke das klappt super. Ist es möglich die Überschriften also "Lager" und "Kisteninhalt" fett zu schreiben und den Text "folgende Produkte sind abgelaufen" unterstrichen darzustellen? 

    Habe da mal was gelsen...

    LG

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    (select Lager)[Ablaufdatum < today()].(Status := 4);
    (select Kisteninhalt)[Ablaufdatum < today()].(Status := 4);
    if (select Lager)[Status = 4] or (select Lager)[Status = 4] then
    dialog("", "<u>Folgende produkte sind Abgelaufen:</u>

    " + if (select Lager)[Status = 4] then
    "<b>Lager:</b>

    " + join((select Lager)[Status = 4].Produktname, "

    ")
    end + if (select Kisteninhalt)[Status = 4] then
    "

    <b>Kisteninhalt:</b>

    " + join((select Kisteninhalt)[Status = 4].Produktname, "

    ")
    end, ["OK"])
    end

Content aside

  • vor 5 JahrenZuletzt aktiv
  • 5Antworten
  • 980Ansichten