0

Rezeptdatenbank

Hallo zusammen,

ich hätte da gerne mal ein Problem ;)

Meine Rezeptdatenbank besteht aus einer Tabelle REZEPTE. In REZEPTE ist eine Untertabelle MENGEN, welche auf eine Tabelle ZUTATEN zugreift. In dem Zutaten-Datensatz gibt es ein Mehfachauswahlfeld "Stichwörter Zutaten" mit u.a. den Einträgen "glutenfrei" und "lactosefrei". Im Rezeptdatensatz habe ich ein Funktionsfeld, in dem folgendes Ergebnis angezeigt werden soll:

- Wenn alle Zutaten in diesem Rezept mit "glutenfrei" gekennzeichnet sind: glutenfrei

- Wenn alle Zutaten in diesem Rezept mit "lactosefrei" gekennzeichnet sind: lactosefrei

- Wenn alle Zutaten in diesem Rezept mit "glutenfrei" und "lactosefrei" gekennzeichnet sind: glutenfrei lactosefrei

- Wenn eine oder mehrere Zutaten nicht entsprechend gekennzeichnet sind, also Gluten oder/und Lactose enthalten: kein Ergebnis anzeigen

Wie programmiere ich das am besten, bitte? Kann mir da jemand helfen :)

Über einen Vorschlag würde ich mich sehr freuen.

Vielen vielen Dank vorab :)

VG Wolfgang

11 Antworten

null
    • T_Bartzsch
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Wolfgang,

    beim anlegen eines Datensatzes in MENGEN definierst Du ja die Zutat über deine Mehrfachauswahl mit "glutenfrei", "lactosefrei", "vegan" usw...

    Du zählst dann am ende in einem Funktionsfeld die Einträge in der Untertabelle MENGEN und vergleichst diese mit der Menge an glutenfreien usw.

     

    let AnzahlZutaten := cnt(MENGEN);

    let AnzahlGlutenfrei := cnt(MENGE ['Stichwörter Zutaten' like "gluten"];

    let AnzahlLactosefrei := cnt(MENGE ['Stichwörter Zutaten' like "lactose"];

     

    if AnzahlGlutenfrei = AnzahlZutaten and AnzahlLactosefrei = AnzahlZutaten then

    styled("glutenfrei, lactosefrei","yellow")

    else if AnzahlGlutenfrei = AnzahlZutaten then styled("glutenfrei","orange")

    else if AnzahlLactosefrei = AnzahlZutaten then styled("lactosefrei","green")

    end

    • wosacele
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Tobias,

    danke erstmal. Ich habe in Zeile 2 und 3 MENGE durch MENGEN ersetzt und gluten durch glutenfrei und lactose durch lactosefrei. Ich denke, dass ist richtig, oder?

    Irgendwas funktioniert aber trotzdem nicht. Er sagt mir: Eine Tabellenspalte wurde nicht gefunden: Stichwörter Zutaten in Zeile 2, Spalte 55.

    Fehlt da in Zeile 2 und 3 nicht jeweils noch die Klammer zu?

    • wosacele
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo nochmal in die Runde,

    kann mir da jemand helfen? Bin kein Programmierer aber trotzdem begeisterter Ninoxler. Ist wahrscheinlich nur ne Kleinigkeit. Das, was Tobias mir freundlicherweise vorgeschlagen hatte, funktioniert leider nicht. Weiß aber nicht warum. Vielleicht ist nur ein kleiner Schreibfehler drin? Vielleicht gibt's auch noch ne andere Lösung?

    Danke an Euch vorab und einen schönen Abend noch :)

    VG Wolfgang

    • Torsten_Stang.1
    • vor 3 Jahren
    • Gemeldet - anzeigen

    ... ohne mich jetzt vertieft zu haben: Deine Vermutung stimmt, in Zeile 2 und 3 fehlt jeweils eine ")" nach den "]"...

    • T_Bartzsch
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo, ja, sorry, da ist tatsächlich ein Schreibfehler drin. Hast Du es mal mit Klammern versucht?

    • T_Bartzsch
    • vor 3 Jahren
    • Gemeldet - anzeigen

    gluten und lactose hätte so stehen bleiben können. Mit "like" sucht er nach dem Vorkommen des Stings "glucose" - und der kommt ja in glucosefrei auch vor

    • wosacele
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ja, ich habe es mit den Klammern probiert. Dann kommt: Eine Tabellespalte wurde nicht gefunden: MENGE in Zeile 2, Spalte 33

    • wosacele
    • vor 3 Jahren
    • Gemeldet - anzeigen

    ...und wenn ich in Zeile 2 und 3 noch MENGE in MENGEN ändere, kommt: Eine Tabellespalte wurde nicht gefunden: Stichwörter Zutaten in Zeile 2, Spalte 57

    • wosacele
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo zusammen, ich probier's nochmal. Vielleicht kann mir heute am Vatertag doch noch jemand helfen ;)

    Meine Rezeptdatenbank besteht aus zwei Tabellen namens Rezepte und Zutaten. In Rezepte gibt es eine Untertabelle namens Mengen, welche auf die Tabelle Zutaten zugreift. Die Untertabelle Mengen wird also in dem Rezeptdatensatz angezeigt und listet alle Zutaten auf, die ich für das Gericht brauche, mit Menge, Einheit, Art der Zutat und den Stichwörtern zu der Zutat, die ich in dem Zutatendatensatz per Mehrfachauswahlfeld bestimmen kann. In diesem Mehfachauswahlfeld namens Stichwörter Zutaten gibt es u.a. die Stichwörter glutenfrei und lactosefrei. Im Rezeptdatensatz habe ich nun ein Funktionsfeld, in dem folgendes Ergebnis angezeigt werden soll:

    - Wenn alle Zutaten in diesem Rezept mit glutenfrei gekennzeichnet sind: glutenfrei

    - Wenn alle Zutaten in diesem Rezept mit lactosefrei gekennzeichnet sind: lactosefrei

    - Wenn alle Zutaten in diesem Rezept mit glutenfrei und lactosefrei gekennzeichnet sind: glutenfrei lactosefrei

    - Wenn eine oder mehrere Zutaten nicht entsprechend gekennzeichnet sind, also Gluten oder/und Lactose enthalten: kein Ergebnis anzeigen

    Wie programmiere ich das am besten, bitte? Kann mir da jemand helfen :)

    Über einen Vorschlag würde ich mich sehr freuen.

    Vielen vielen Dank vorab und schönen Vatertag noch :)

    VG Wolfgang

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Wolfgang, 

    Ist immer sche´wierig mit Ferndiagnose. Es sollte etwa so gehen:

    ---
    if cnt(Mengen)=cnt(Mengen[Zutaten.chosen('Stichwörter Zutaten',"glutenfrei")]) then "glutenfrei" end + if cnt(Mengen)=cnt(Mengen[Zutaten.chosen('Stichwörter Zutaten',"lactosefrei")]) then " lactosefrei" end

    ---

     

    Leo

    • wosacele
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Leonid, Du hast mir den Tag gerettet ;) Das funktioniert! Super, vielen Dank! :)