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
-
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
-
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