0

Automatischer Import

Ich habe drei Tabellen Tabelle A, Tabelle B, Tabelle C
in Tabelle A und B gibt es jeweils ein Feld Id

Ich möchte jetzt in Tabelle B eine Befehlsschaltfläche erstellen
die folgendes machen soll.

Sie soll alle Datensätze von Tabelle A mit Tabelle B vergleichen ob die Auftragsnummer gleich sind

Ist in Tabelle B die Auftragsnummer schon vorhanden soll in Tabelle A der Datensatz gelöscht werden
ist in Tabelle B die Auftragsnummer noch nicht vorhanden soll der Datensatz von Tabelle A in Tabelle B kopiert werden
und der Datensatz in Tabelle A gelöscht werden.

Es gibt in Tabelle B ein Feld ID dass es auch in Tabelle C gibt

Jetzt soll in Tab. c nachgedruckt werden ob die ID in Tabelle C schon vorkommt wenn diese vorhanden ist
soll sie automatisch verknüpft werden mit Tabelle B

Martin

2 Antworten

null
    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Martin,

    Aus deiner Beschreibung ist nicht klar, in welcher Beziehung stehen die Tabellen B und C zueinander. Ich nehme an, die Tabelle B ist eine Haupttabelle und die Tabelle C - die Untertabelle:

    ---

    for i in select 'Tabelle A' do

    if cnt(select 'Tabelle B' where Auftragsnummer=i.Auftragsnummer)=0 then 

    let newB:=create 'Tabelle B';

    newB.(Auftragsnummer:=i.Auftragsnummer;

    Datum:=i.Datum;

    FeldA:=i.FeldA;

    .;

    .;

    Feldx:=i.FeldX);

    deleteRecord(i)

    else 

    deleteRecord(i)

    end

    end;

    for j in 'Tabelle B' do

    select 'Tabelle C' [ ID=j.ID].('VERKNÜPFUNGSFELD ZUR TABELLE B':=j)

    end

    ---

     

    Leo

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Habe gerade gemerkt dass deleteRecord () - gar kein Befehl ist. Richtig ist delete():

    ---

    for i in select 'Tabelle A' do

    if cnt(select 'Tabelle B' where Auftragsnummer=i.Auftragsnummer)=0 then 

    let newB:=create 'Tabelle B';

    newB.(Auftragsnummer:=i.Auftragsnummer;

    Datum:=i.Datum;

    FeldA:=i.FeldA;

    .;

    .;

    Feldx:=i.FeldX);

    delete (i)

    else 

    delete (i)

    end

    end;

    for j in 'Tabelle B' do

    select 'Tabelle C' [ ID=j.ID].('VERKNÜPFUNGSFELD ZUR TABELLE B':=j)

    end

    ---

    Leo

Content aside

  • vor 5 JahrenZuletzt aktiv
  • 2Antworten
  • 1386Ansichten