0

Uebernahme von Datensätzen aus verknüpfter Tabelle in Untertabelle eines neuen Datensatzes

Meine Datenbank beinhaltet u.a. eine Tabelle «Budgetplanung» mit einer 1:N-Verknüpfung zur Tabelle «BudgetplanungEinzelpositionen».
Des weiteren habe ich eine zweite Tabelle «Budgetracking» mit einer Untertabelle «Ausgabepositionen» (1:N)

Wenn nun im Rahmen des Budgetplanungsprozesses ein Budget (Datensatz) genehmigt wird, habe ich eine Befehlsschaltfläche, welche mir in der Tabelle «Budgettracking» einen neuen Datensatz anlegt und die relevanten Werte aus dem Budgetplanungsdatensatz übernimmt. Hier der Code, welcher auf der Befehlsschaltfläche hinterlegt ist.

let my := this;
let new := (create Budgettracking);
new.(
Budgetbezeichnung := my.Budgetbezeichnung;
Budgetverantwortlicher := my.Budgetverantwortlicher;
Finanzjahr := my.Finanzjahr;
Budgettyp := my.Budgettyp;
'CAPEX-Nr' := my.'CAPEX-Nr';
'genehmigtes Budget' := my.'Genehmigter Betrag';
'ursprüngliche Budgetplanung' := my
);
popupRecord(new)

Was mir nun noch fehlt ist, dass alle Datensätze welche in der verknüpften Tabelle «BudgetplanungEinzelpositionen» zu diesem Budgetplanungsdatensatz vorhanden sind in die Untertabelle «Ausgabepositionen» kopiert werden und natürlich mit dem neu erstellten Datensatz in «Budgetracking» verknüpft sind.

Kann mir hier jemand auf die sprünge helfen?
(Ein Beispiel  mit einem Feld «Positionsbezeichnung» würde mir reichen)

6 Antworten

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

    Hallo,

     

    ich versuch's mal ;-)

     

    let my := this;
    let new := (create Budgettracking);
    new.(
    Budgetbezeichnung := my.Budgetbezeichnung;
    Budgetverantwortlicher := my.Budgetverantwortlicher;
    Finanzjahr := my.Finanzjahr;
    Budgettyp := my.Budgettyp;
    'CAPEX-Nr' := my.'CAPEX-Nr';
    'genehmigtes Budget' := my.'Genehmigter Betrag';
    'ursprüngliche Budgetplanung' := my
    );
    for i in BudgetplanungEinzelpositionen do
       let newPos := (create Ausgabepositionen);
       newPos.(
       Budgettracking := new;
       Positionsbezeichnung := i.Positionsbezeichnung
       );
    end
    popupRecord(new)

     

    lg, Torsten

    • Stonie
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Torsten, 
    Vielen Dank für die Rückmeldung. Habs soeben versucht. 
    Im Scripteditor zeigt er mir einen Fehler an: "Eine Tabellenspalte wurde nicht gefunden: Budgettrackin in Zeile 15, Spalte 20

     

    Fehlermeldung

     

    Hast Du mir einen Tipp? (ich komm nicht drauf)

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

    Wie heißt denn die Verknüpfung zur Tabelle "Budgettracking" in der Tabelle "Einzelpositionen"? Die Bezeichnung muss da rein...

     

    lg, Torsten

    • Stonie
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Torsten, die Verknüpfung in Tabelle "Einzelpositionen" zur Tabelle "Budgetracking" heisst "gehört zu Budget". 

    Alledings kommt er mir da weiterhin mit einem Fehler.....

     

    Ninox_Budgetracking

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

    Moin,

     

    newPos.(
    'gehört zu Budget' := new;
    Positionsbezeichnung := i.Positionsbezeichnung
    );

     

    sollte es dann tun - welchen Fehler bekommst Du denn?

     

    lg, Torsten

    • Stonie
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Torsten,
    herzlichen DANK für Deine Hilfe!!
    Es hat nun geklappt --> ' ' hat gefehlt.

     

    lg, Stonie