0

Datensatz aus einer Tabelle inkl. 1:N Verknüpfung per Befehlsschaltfläche übertragen

Hallo zusammen,

 

Ich habe folgende Situation, die ich nicht gelöst bekomme und brauche mal wieder Hilfe.

Es gibt eine Tabelle “Kunden” mit einer Tabelle “Anprechpartner” (1:N Verknüpfung), die ich nach folgendem YoutubeTutorial benutze:

 

https://www.youtube.com/watch?v=tNKPQxUILsk

 

Eine weitere Tabelle “Filiale” ebenso mit Tabelle “Ansprechpartner” (1:N Verknüpfung).

 

Nun möchte ich, dass der Inhalt aus der Tabelle “Filiale” in Tabelle “Kunden” übertragen wird.

Ich habe eine Befehlsschaltfläche “Als neuen Kunden speichern” erstellt und folgenden Code eingegeben:

 

let myFeld1 := Firma;
let myFeld2 := Zusatz;
let myFeld3 := “Straße”;
let myFeld4 := PLZ;
let myFeld5 := Ort;

usw.

let newKd := (create Kunden);
newKd.(Firma := myFeld1);
newKd.(Zusatz := myFeld2);
newKd.(“Straße” := myFeld3);
newKd.(PLZ := myFeld4);
newKd.(Ort := myFeld5);

usw.

popupRecord(newKd)

 

Die Daten werden, wie gewollt, übernommen. Wie kann ich denn die jeweiligen Anprechpartner der Tabelle “Filiale” auch übertragen?

 

Hat jemand eine Idee?

 

Vien Dank schon mal vorab.

 

Gruß Kruna

9 Antworten

null
    • Torsten_Stang.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Kruna,

     

    die Tabelle “Ansprechpartner” ist jeweils die gleiche? Dann

     

    for i in Ansprechpartner do
       i.Kunde := newKd
    end

     

    noch was: Deinen Code abkürzen könntest Du so:

     

    let my := this;
    let newKd := (create Kunden);
    newKd.(Firma := my.Firma;
       Zusatz := my.Zusatz;
       “Straße” := my.“Straße”;
       .
       .
       .
       Ort := my.Ort);
    for i in my.Ansprechpartner do
       i.Kunde := newKd;
    end;
    popupRecord(newKd)

     

    lg, Torsten

    • Kruna
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Torsten,

    vielen Dank für Deine Hilfe und den Hinweis, die Abkürzung funktioniert perfekt!

     

    Ja, Tabelle “Ansprechpartner” ist die gleiche.

    Ich habe Deine Vorschlag gerade ausprobiert und es wird angezeigt, dass :

     

    Eine Tabellenspalte wurde nicht gefunden: Kunden in Zeile.... das wäre folgende Zeile (Kunde habe ich durch Kunden ersetzt):

     

    for i in my.Ansprechpartner do
       i.Kunde := newKd;
    end;
    popupRecord(newKd)

     

    Hast Du eine Idee was ich falsch gemacht haben könnte?

     

    Gruß

    Kruna

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

    Hi Kruna,

     

    wie heisst denn in der Tabelle “Ansprechpartner” die Verknüpfung zur Tabelle “Kunden”? Genau diese Bezeichnung solltest Du dort verwenden...

     

    lg, Torsten

    • Kruna
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hi Torsten,

    ahhhh...genau da lag der Fehler! Vielen tausend Dank, Du hast mir echt super weitergeholfen!! Wieder ein Stück weitergekommen...

    Eine Frage bleibt mir doch noch. Ich habe für jeden Kunden ein Bildfeld, in das quasi ds Logo hineinkommt. Kann es sein, dass der Code bei Bildfeldern nicht funktioniert?

     

    Gruß

    Kruna

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

    Hi Kruna,

     

    ja, Bildfelder lassen sich nicht kopieren... :-/

     

    lg, Torsten

    • Kruna
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hi Torsten,

    ok, das ist schade. Aber gut, dann wird es halt nochmal hochgeladen. Trotzdem vielen DAnk nochmals für Deine Hilfe!!

     

    Gruß

    Kruna

    • Kruna
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Entschuldigung, ich habe doch noch eine Frage. Würde es auch möglich sein, wenn Tabelle “Ansprechpartner” nicht jeweils die gleiche Tabelle ist, sondern eine andere Tabelle , zB “Ansprechpartner 1”?

     

    Auch an dieser Stelle, vielen Dank schon mal...

     

    Gruß

    Kruna

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

    Hi,

     

    for i in Ansprechpartner do
       let NewAP := create “Ansprechpartner 1”;
       NewAP.(Kunde := newKd;
          Feld1 := i.Feld1;
          Feld2 := i.Feld2;
          Feld3 := i.Feld3;
          .
          .
          .
          Feld99 := i.Feld99)
    end

     

    lg, Torsten

    • Kruna
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Torsten,

     

    wowwww! Nochmals tausend DANK für Deine Hilfe!! Hat wunderbar geklappt!!

     

    Gruß Kruna