0

Automatische Verknüpfung Datensatz durch Skript

Hallo zusammen, 

Ich habe eine Tabelle Bestellungen und eine Tabelle Kunden.

Bei Bestellungen habe ich folgende Eingaben: 

1. Bestellnr.

2. Kundennr.

3. Datum

Bei Kunden habe ich folgende Eingaben:

1. Kundennr. 

2. Adresse usw.

Die beiden Tabellen sind mit einander verknüpft durch die Tabelle Bestellungen - Kur.

datenmodell1

Meine Ziel ist es, dass ich bei Bestellungen die Kundennr. eintragen kann z.B. 10 und dass es anschliessend automatisch die Verknüpfung macht mit der Tabelle Kunden, mit dem Kunden mit der Kundennr. 10. Ist so etwas möglich?

Ansicht bei Tabelle Bestellungen

Ich danke euch riesig für die Hilfe.

Gruss, Lucas

6 Antworten

null
    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Lucas,

    als Trigger nach Änderung bei Kundennr.:

    ---

    let my:=this;

    let kn:='Kundennr.';

    if kn then

    let new:= create 'Bestellungen - Kur.'

    new.Kunden:=kn;

    new.Bestellungen:=my

    else

    delete select 'Bestellungen - Kur.' where Kunden:=kn and Bestellungen:=my

    end

    ---

    Leo

    • Lucas_K
    • vor 5 Jahren
    • Gemeldet - anzeigen

    @Leonid Semik;
    Ich danke Ihnen viel mals für die Rückmeldung.
    Habe dies nun einrichten wollen und erhalte folgende Fehlermeldung nachdem ich ihren Code einfügte:

    let my := this;
    let kn := 'Kundennr.';
    if kn then
    let new := (create 'Bestellungen - Kunden');
    new.(Kunden := kn);
    new.(Bestellungen := my)
    else
    delete (select 'Bestellungen - Kunden' where Kunden := kn and (Bestellungen := my))
    end

    Bildschirmfoto 2019-05-04 um 14.59.33

    Haben Sie eine Idee, wo das Problem liegen könnte?

    Gruss, Lucas

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Oh, da habe ich zu kurz gedacht:

    ----

    let my := this;
    let kn := 'Kundennr.'
    if kn then 
    let knt := first(select Kunden where 'K nr.'=kn);
    let new := (create 'Bestellungen - Kunden');
    new.(Kunden := knt);
    new.(Bestellungen := my)
    else
    delete (select 'Bestellungen - Kunden' where Bestellungen := my)
    end

    ---

     

    Leo

    • Lucas_K
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Danke Leonid, nun kommt folgende Fehlermeldung:

    Bildschirmfoto 2019-05-05 um 14.22.31

    Bildschirmfoto 2019-05-05 um 14.22.37

    Hättest du hierzu eine Lösung?

    Beste Grüsse und vielen Dank für deine Hilfe!

    Lucas

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Lucas,

    kann es sein, dass du jedesmal die Feldnamen änderst? Habe jetzt noch eine Version:

    ---

    let my := this;
    let kn := 'Kundennr.';
    delete Kunde;
    if kn then
    let knt := first(select Kunden where 'Kundennr.' = kn);
    let new := (create 'Bestellungen - Kunden');
    new.(Kunden := knt);
    new.(Bestellungen := my)
    else
    delete Kunde
    end

    ---

    Leo

    • Lucas_K
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Sie sind super! Besten Dank und einen schönen Sonntag!

Content aside

  • vor 5 JahrenZuletzt aktiv
  • 6Antworten
  • 2161Ansichten
  • 1 Folge bereits