0

Zeilenbezogene Prüfung (Hilfe benötigt)

Hey ihr Ninox-Profis.
Ich bin leider immernoch echt ein Laie was Ninox angeht. Ich versuche kurz zu erklären worum es geht und vielleicht kann mir ja jemand weiterhelfen! :')
Oben im Bild seht ihr bei "Messtyp" einen spezifischen Messtyp eingetragen, welcher mit den Grenzmaßen daneben verschiedene Toleranzen bilden. Das funktioniert alles schön und gut.
In der Untertabelle "Alle Messpunkte" wird in der Spalte "OK?" berechnet, ob das Teil in der Toleranz liegt. Hierzu benutze ich den Code: 

if 'Prüfbericht-Assistent'.'Kundenspezifische Toleranz' = 0 and
    'Prüfbericht-Assistent'.Messtyp != 4 then
    Messwert >= 'Prüfbericht-Assistent'.Minimum and
    Messwert <= 'Prüfbericht-Assistent'.Maximum
else
    if 'Prüfbericht-Assistent'.'Kundenspezifische Toleranz' = 0 and
        'Prüfbericht-Assistent'.Messtyp = 4 then
        Messwert >= 'Prüfbericht-Assistent'.'Minimum (Winkel)' and
        Messwert <= 'Prüfbericht-Assistent'.'Maximum (Winkel)'
    else
        if 'Prüfbericht-Assistent'.'Kundenspezifische Toleranz' = 1 and
            'Prüfbericht-Assistent'.Messtyp != 4 then
            Messwert >= 'Prüfbericht-Assistent'.'Minimum (kundenspezifisch)' and
            Messwert <= 'Prüfbericht-Assistent'.'Maximum (kundenspezifisch)'
        else
            if 'Prüfbericht-Assistent'.'Kundenspezifische Toleranz' = 1 and
                'Prüfbericht-Assistent'.Messtyp = 4 then
                Messwert >= 'Prüfbericht-Assistent'.'Winkel-Min. (kundenspezifisch)' and
                Messwert <= 'Prüfbericht-Assistent'.'Winkel-Max. (kundenspezifisch)'
            end
        end
    end
end

Nun wie die Profis bestimmt schon festgestellt haben ändert sich die Antwort im "OK?" Feld, wenn ich den Messytp ändere. Allerdings möchte ich Werte von verschiedenen Messtypen messen, die in die Untertabelle eingetragen werden, und das "OK?" Feld soll sozusagen mit dem Messtyp berechnen, der bei der Werteintragung ausgewählt war.
Das Ziel ist es mehrere Teile für eine Kategorie zu messen, und dann zur nächsten Kategorie (Messtyp) zu gehen, ohne dass sich die Antworten bei "OK?" ändern. Ich hänge euch noch eine Kopie der Datenbank an. Vielleicht kann mir ja jemand helfen!
Liebe Grüße, Jan

2 Antworten

null
    • pma_mgmt
    • vor 10 Stunden
    • Gemeldet - anzeigen

    Ich würde wie folgt vorgehen: 

    Eine Untertabelle Messungen erstellen mit Feldern: 
    kundenspezifische Toleranz
    Messtyp
    Messwert
    ja/nein-Feld Resultat mit "schreibbar wenn" "false" (kann nur durch Skripte geändert werden, nicht durch Menschen).

    Dann würde ich in Trigger nach Änderung in alle drei Felder schreiben 

    if Toleranz!=null and Messtyp!=null and Messwert!=null then
    HIER DEINE LOGIK, z.B. if Messwert>Minimum and Messwert<Maximum then true else false end
    end
    

    Dann hast du nämlich zu deinem spezifischen Prüfpunkt alle relevanten Parameter fest geschrieben. 

    Anschließend kannst du mit einer Formel 

    if cnt(Messungen[Resultat=false])>0 then "Messungen ungültig" else "Messungen gültig" end
    

    auf Ebene des Prüfobjektes prüfen, ob alle Untermessungen zum Objekt in Ordnung sind

    Grüße Peter

    • Jan_Heine
    • vor 7 Stunden
    • Gemeldet - anzeigen

    Hey Peter,
    danke für deine Antwort, aber ich glaube ich kann dir nicht ganz folgen. Was genau bewirkt das if-Statement damit das ja/nein Feld gleichbleibt?
    Liebe Grüße, Jan