KeyRef

6. September 2005 10:49

Hallo leute,

wie kann ich "Keyref" richtig benutzen?
ich möchte einen Report, auf dem alle Tabellen (kein Problem)

--> incl. der angabe der schlüssel anzeigen (Problem :) )

mfg
dante

6. September 2005 12:05

Du müsstest für jeden Schlüssel erstmal herausfinden, welche Felder darin enthalten sind (du erhältst die Feldnr.).
Damit kannst du dann die Feldnamen / -caption ermitteln.
Code:
FOR I := 1 TO RecRef.KEYCOUNT DO
  FOR J := 1 TO RecRef.KEYINDEX(I).FIELDCOUNT DO BEGIN
    IF KeyName[i] <> '' THEN
      KeyName[i] += ', ';
    KeyName[i] += RecRef.FIELD(RecRef.KEYINDEX(I).FIELDINDEX(J).NUMBER).CAPTION);
  END;


Tipp: Solange du FieldRef und KeyRef nur lesend verwendest, brauchst du diese nicht separat als Globals definieren und kannst direkt mit RecRef darauf zugreifen.

8. September 2005 16:11

Hallo Timo,

Kann das ganze auch allein durch KEYREF und nicht dur RecREF gemacht werden?

9. September 2005 08:51

Nein, du brauchst [b]immer[/i] einen RecRef, da KeyRef und FieldRef nur dem RecRef untergeordnete Elemente sind.
Da sie dem RecRef untergeordnet sind, kann man sie (bei lesendem Zugrifff) auch weglassen.