DBRelation()
DBRelation() – Tabellen verbinden
Die Funktion verbindet zwei geöffnete Tabellen über einen Ausdruck miteinander. Ist Parameter 3 (nicht 4!) das Tabellenobjekt für die Mastertabelle, dann kann Parameter 4 entfallen und der ursprüngliche Parameter 3 wird mit dem Defaultwert (.F.) initialisiert. Ist gar kein Parameter angegeben, dann werden alle Relationen für die Tabelle aufgehoben!
Parameter | Beschreibung |
---|---|
aRelFunction:C | Ausdruck, über den der Schlüssel für die Detailtabelle berechnet werden kann; default = Leerstring |
aDetailTable:O | Detailtabelle (muss aktiv sein!); default = Default-Tabelle |
aDoAddRel:U | Gibt an ob bestehende Relation bestehen bleiben sollen (.T.) oder gelöscht werden sollen (.F.); default = false |
aMasterTable | Mastertabelle mit der die Detailtablle synchronisiert wird; default = Default-Tabelle |
Rückgabewert
Objekt - Relationsobjekt
Beispiel
| oDab000, oDab005, oDM |
oDM := CreateObject('TBeDBGet'),
startseq
oDab000 := DBGetTable(oDM, waDAB000),
oDab005 := DBGetTable(oDM, waDAB005),
DBRelation('"K" + Str(KDNR,8)', oDab005, oDab000),
oDab000.CbSetFilter("kdnr <= 16000"),
oDab000.CbFirst(),
while not EoF(oDab000),
WriteLn(Str(oDab000:KDNR) + " " + oDab000:NAME1),
while not Empty(oDab005:NAME) and oDab005:PERSNR = oDab000:KDNR do
WriteLn(Space(2) + oDab005:NAME),
oDab005.CbNext()
end,
WriteLn(""),
oDab000.CbNext(),
end,
always
destroyObject(oDM),
stopseq