0

Multiple Choice

Hallo Miteinander,

ich habe ein banales Problem. Ich erzeuge einen Datensatz und nutze das "Multiple Choice" Feld für eine Mehrfachauswahl.

Ich würde aber gerne das "Multiple Choice" durch das verlinken zu einer Tabelle erstetzen.

Das gelinkt insofern, dass ich eine Mehrfachauswahl jetzt tätigen kann. Bei einemjeweils neuen Datensatz, stehen dann aber die bereits vorher ausgewählten Felder der verlinkten Tabelle, nicht mehr zur Verfügung. 

8 Antworten

null
    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo, 

    das Problem ist nicht so banal. Normalerweise sind die Tabellen durch 1:n Beziehung miteinander verknüpft. Das heißt: 1 Datensatz der Haupttabelle kann mit mehreren Datensätzen der Untertabelle verknüpft werden, aber ein Datensatz der Untertabelle ist dann nur mit einem Datensatz der Haupttabelle verknüpft. Deswegen sieht man in der Haupttabelle eine Untertabelle und in der Untertabelle nur ein Feld. Wenn du jetzt dein MFAF durch Verknüpfung ersetzen möchtest bedeuted es, dass die Datensätze der beiden Tabellen mit mehreren Datensätzen der anderen Tabelle verknüpft sein dürfen. Das ist eine n:m Beziehung. Diese wird bei Ninox durch eine dritte Tabelle realisiert. Diese Tabelle hat eine Verknüpfung zur Tabelle A und zur Tabelle B. So hast du in beiden Tabellen grafisch eine Untertabelle und kannst die Datensätze belibig kombinieren. Nachteil dabei, man muss zwei mal Klicken um einen Datensatz auszuwählen.

    In Webinar Team gibt es dazu die Datenbank "026_M zu N Beziehung - einfach"

    Leo

    • Peter_Merkel
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Leo,

    ja das kann ich nachvollziehen. Kommt bei mir in meinem Projekt ziemlich oft vor. Hatte gehofft es gibt noch eine weniger aufwendige Lösung. Trotzdem vielen Dank! Habe dann Sicherheit es so machen zu müssen. LG Peter

    • Peter_Merkel
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Leo, 

    wie sieht es aus wenn der 'Maintenance Schedule'.Id zur Variablen wird. Wird das dann eine Schleife in der Schleife ?

    LG Peter

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Peter, 

    stehe gerade auf dem Schlauch - 'Maintenance Schedule'.Id - in welchem Zusammenhang?

    • Peter_Merkel
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Sorry bezieht sich auf die Beispieldatenbank "Wartungsintervalle übernehmen". Button siehe let myRecord := first((select Aggregates).Maintenance_Schedule[Id = 5]);

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Der Befehl bedeutet: wähle die Tabelle Aggregates, danach alle mit der Tabelle verknüpften Datensätze der Tabelle  'Maintenance Schedule' und filtere die raus, die Eine Id 5 haben. Jetzt nimm den ersten Datensatz davon.

    Ist in diesem Zusammenhang aber Quatsch weil es nur einen Datensatz mit der Id=5 gibt. Man kann auch so schreiben:

    let myRecord := record(Maintenance_Schedule,5);

    Leo

    • Peter_Merkel
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Ne so war das nicht gemeint. Die "5" ist mein Problem. Das ist die Variable! D.h. es gibt unterschiedliche Jobs in der DB die je nach Anzahl der "Cylinder" oder " Bearings" gemacht werden müssen.

    • Peter_Merkel
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Wäre es nicht der Weg erst zu definieren, welche Jobs zu welcher Komponente gehören (Cylinder oder Bearings) und dann jeden einzelnen Job nach Anzahl der Cylinder oder der Bearigns zu generieren?