0

Verknüpfung von Ansprechpartner mit Aktion

Hallo Zusammen, ich versuche in einer CRM Datenbank einzelne Ansprechpartner, die beim Haken "Mailing" ein "Ja" gesetzt haben, mit einer Untertabelle "Aktionen" mit einer enstprechenden Aktion zu verknüpfen. Leider bekomme ich es nicht hin. Kann mir bitte jemand helfen?

let n := Nr;
let suche := Mailing = true;
let ergebnis := (select Ansprechpartner where suche = true);
for Name in ergebnis do
Aktionen.(Aktion := n)
end

9 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo, ich verstehe nicht so recht, was genau da passieren soll. Es gibt mehrere Ansprechpartner und mehrere Aktionen? Und jeder Ansprechpartner, bei dem 'Mailing = true' ist, soll mit allen vorhandenen Aktionen verknüpft werden? Falls diese Interpretation richtig sein sollte, wäre dazu m. E. eine N:M-Verbindung erforderlich. Das heißt, man bräuchte eine dritte Hilfstabelle, z. B. 'AP-Aktionen', über welche man Ansprechpartner und Aktionen miteinander verknüpft.

    Dann könnte bspw. ein Button-Script mit folgendem Code die Verknüpfungen herstellen:

    for x in select Ansprechpartner where Mailing = true do
        let myAP := x;
        for y in select Aktionen do
            let myAkt := y;
            let newAkt := (create 'AP-Aktionen');
            newAkt.(Ansprechpartner := x);
            newAkt.(Aktionen := y)
        end
    end

    Aber vielleicht liege ich mit meiner Interpretation auch völlig daneben.

    • rehfusssteffen
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Vielen Dank für die schnelle Hilfe. Sorry, schlecht formuliert. Ich möchte nur die aktuelle Aktion mit den Ansprechpartnern verknüpfen. Ich habe Ihre Lösung angepasst. In der Tabelle "Aktionen" habe ich einen Button mit folgendem Script:

    for x in select Ansprechpartner where Mailing = true do
    let myAP := Ansprechpartner.Name;
    let myAkt := Aktion;
    let newAkt := (create 'AP-Aktionen');
    newAkt.(Ansprechpartner := myAP);
    newAkt.(Aktionen := myAkt)

    end

    In die neuen Tabelle "AP-Aktionen" wird jetzt die aktuelle "Aktion" angezeigt, aber nicht der Ansprechpartner.Name.

    Nehme ich die Variable x für myAP also:  

    for x in select Ansprechpartner where Mailing = true do
    let myAP := x;
    let myAkt := Aktion;
    let newAkt := (create 'AP-Aktionen');
    newAkt.(Ansprechpartner := x);
    newAkt.(Aktionen := myAkt);

    end

    wird in die Tabelle AP-Aktionen.Ansprechpartner "A1" und "A2" geschrieben.  Was mache ich falsch??

    Vielen Dank für ihre Hilfe im Voraus.

    • rehfusssteffen
    • vor 4 Jahren
    • Gemeldet - anzeigen

    So, jetzt hab ich es:

    for x in select Ansprechpartner where Mailing = true do
    let myAP := x.Name;
    let myAkt := Aktion;
    let newAkt := (create 'AP-Aktionen');
    newAkt.(Ansprechpartner := myAP);
    newAkt.(Aktionen := myAkt)
    end

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Ach so, das Script soll aus einem Datensatz der Tabelle 'Aktionen' heraus gestartet werden. Verstehe. Es wundert mich allerdings, dass es so funktioniert. Denn mit "myAP := x.Name" und "myAkt := Aktion" werden ja nur Textwerte eingelesen, keine IDs, über die normalerweise verknüpft wird. Deshalb hätte ich es wohl eher so versucht:

    let myAkt := this;
    for x in select Ansprechpartner where Mailing = true do
        let newAkt := (create 'AP-Aktionen');
        newAkt.(Ansprechpartner := x);
        newAkt.(Aktionen := myAkt)
    end

    Aber wenn der Code tatsächlich so funktioniert wie gewünscht, dann gibt es natürlich keinen Grund, ihn zu ändern.

    • rehfusssteffen
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Guten Tag, vielen Dank für Ihre Zeit und ihre Hilfe. Sie haben natürlich vollkommen recht. Eine Verknüpfung findet mit meiner Lösung nicht statt. Ich habe Ihre Lösung jetzt getest. Hier das Ergebnis:

    Beispiel:

    Ansprechparter = A1

    Aktion = [object Object]

    Eine Verknüpfung zwischen Aktion und Ansprechpartner findet aber auch hier nicht statt.  Vielen Dank für Ihre Hilfe!

    Ansprechparter

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo, ich habe irgendwie immer noch keine genaue Vorstellung von Ziel, Problem und Lösung. Denn nach obiger Beschreibung hätten wir ja eine 1:N-Verknüpfung von Ansprechpartnern zu Aktionen. Das hieße, zu jeder Aktion ließe sich lediglich ein (in Zahlen: 1) Ansprechpartner verknüpfen. Es ist für mich nur schwer vorstellbar, dass das wirklich so gewollt ist.

    Ich will natürlich niemandem was aufoktroyieren, und vielleicht reden wir ja nur aneinander vorbei, aber ich habe das Szenario mal auf Basis einer N:M-Verknüpfung nachgestellt, so wie es nach meinem Verständnis einen Sinn ergäbe, und das sieht folgendermaßen aus:

     

    Ninox_MailingAktionen1

     

    Ninox_MailingAktionen2

     

    Ninox_MailingAktionen3

     

    Ninox_MailingAktionen4

     

    Und das ist der Code der Schaltfläche "Diese Aktion Ansprechpartnern zuordnen" im Formuar der Tabelle Aktionen (Screenshot Nr. 2):

    let myAktion := this;
    for x in select Ansprechpartner where Mailing = true do
       let newAktion := (create AP_Aktionen);
       newAktion.(Ansprechpartner := x);
       newAktion.(Aktionen := myAktion)
    end

    • rehfusssteffen
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Guten Abend,

    genau so wie Sie es umgesetzt haben möchte ich es haben. Sitze jetzt schon wieder ne Stunde da und bekomme es nicht hin. Könnten Sie mir Ihr Beispiel zusenden? Wäre super. Vielen Dank für Ihre Hilfe.

    Hier mein Ergebnis:

    AP_Aktionen

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    'n Abend. Ich habe die oben gezeigte Beispiel-Datenbank der Einfachheit halber zum Download in die Dropbox gelegt (die Datei ist nur wenige KB groß):

     

    https://www.dropbox.com/s/vrdvf4wqfq0wszi/Mailingaktionen.ninox?dl=0

     

    Wenn Fragen: Fragen! ;)

    • rehfusssteffen
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Guten Abend, Sie haben mir den Abend gerettet. Vielen Dank für Ihre Mühe!!!

Content aside

  • vor 4 JahrenZuletzt aktiv
  • 9Antworten
  • 2751Ansichten