0

1 Datensatz mit unterschiedlichen Werten auswählbar machen

Hallo Ninoxer, 

ich hoffe das jemand eine kreative Lösung für meine Anforderung hat. Denn mir fällt sie irgendwie nicht ein. 
In der Tabelle "Kunden" gibt es auch 1 Kunden der mehrere Lieferadressen hat. Eingepflegt habe ich diese bisher über ein Auswahlfeld. Diese verschiedenen Lieferadressen müssen auch in anderen Formularen und Tabellen auswählbar sein. 

Bei einer N:1-Beziehung kann ich keine seperate Lieferadresse auswählen sondern er nimmt immer die die im Auswahlfeld im Datensatz gerade ausgewählt ist.  

Über eine Untertabelle möchte ich es ungerne machen weil die Firma auch noch andere Kunden hat die mit den verschiedenen Lieferadressen des einen Kunden nichts zu tun haben.

Ich hoffe das war verständlich und vielleicht hat ja jemand eine Idee.

4 Antworten

null
    • Basti.1
    • vor 7 Monaten
    • Gemeldet - anzeigen

    Also, hab noch weiter herumprobiert und natürlich ist die Untertabelle doch die sinnvollste Lösung. Mein Problem liegt nun aber woanders:

    Es gibt Kunde A und Kunde B. 
    Kunde A hat Lieferadressen 1,2,3 und
    Kunde B hat Lieferadressen 4,5,6

    Wie bekomme ich es hin, das in den Projekten nur die Lieferadressen des jeweiligen Kunden zur Auswahl stehen und nicht alle Lieferadressen von allen Kunden?

    Hat da jemand ne Idee? Vielen Dank schonmal.

    • Tobias_Bartzsch
    • vor 7 Monaten
    • Gemeldet - anzeigen

    Ja, die Lieferadressen würde ich als Untertabelle pflegen. Wenn Du in Projekten eine Verknüpfung auf die Lieferadressen anlegst, kannst du bei einem Verknüpfungsfeld unter "Einschränkungen" Bedingungen setzen. Dabei ist "a" dein Datensatz (Projekte) und "b" die verknüpfte Tabelle (Lieferadressen). Wenn es also in deinem Projekte Datensatz eine Verknüpfung auf "Kunde" gibt und es in den Lieferadressen auch eine Verknüpfung auf Kunde gibt, dann kann im Feld Einschränkungen zb. stehen: a.Kunde = b.Kunde .... dann bekommst du als Auswahl nur die Datensätze des einen Kunden angezeigt...

    Alternativ kannst Du ein dynamisches Auswahlfeld anlegen, dort in den Einstellungen unter "dynamic Values" dann zb.:

    let me := this;
    select Lieferadressen where Kunde = me.Kunde

    "Name des dynamischen Werts" musst Du dir dann nach belieben zusammenstellen, das sind dann die Felder aus "Lieferadressen"... da könnte zb. rein: Straße + " " + PLZ + " " + Ort ... (falls Du das so in deinen Adressen hast)

    • Basti.1
    • vor 7 Monaten
    • Gemeldet - anzeigen

    perfekt.... und somit wieder was gelernt. 
    Auf a.Kunde=b.Kunde bin ich gar nicht gekommen.

    Es funktioniert wie es soll. Vielen Dank.

    Ich hätte da noch eine Frage: Kann ich eine Mehrfachauswahl in eine N:1-Beziehung bauen?
    Bei den Projekten sollen auch Mitarbeiter zugewiesen werden können. 
    Aber das können natürlich auch mehrere sein. 
    Und in der Mitarbeiterliste sollen dann bei jedem MA auch die zugeordneten Projekte angezeigt werden.
    Bisher habe ich das mit einem dynamischen Auswahlfeld umgesetzt. In der Projektliste ist das OK, aber in der MA-Liste sieht man dann nicht die zugeordneten Projekte. 

    Hast du da nen Tipp?

    • Daniel_B
    • vor 7 Monaten
    • Gemeldet - anzeigen

    Hallo,

    das solltest du über eine N:N Verknüpfung realisieren.

    z.B. Tabelle Mitarbeiter_Projekt mit 2 Verknüpfungen. Einmal Mitarbeiter und einmal Projekt.

    In der Tabelle steht dann z.B.:

    PRO1 -> MIT2

    PRO1 -> MIT4

    PRO2 -> MIT1

    PRO2 -> MIT4

    Der Mitarbeiter Datensatz weis meines Wissens ist, dass is in den dynFeld ausgewählt wurde.

    Oder vielleicht mit einer SELECT Abfrage.

    Liebe Grüße,