Skip to main content
Skip table of contents

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!


ParameterBeschreibung

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


CODE
| 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 
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.