Navigation:  Klassen > bArrayServer >

bArrayServer:SetRelation()

Diese Seite drucken    Vorherige SeiteZurück zum Anfang des KapitelsNächste Seite

Zweck

Erstellt eine Verknüpfung zwischen diesem Datenserver und einem untergeordneten Datenserver.

Klasse

bArrayServer

Typ

Methode

Syntax

<oArrayServer>:SetRelation(

<oChild>,;

<cbRelation>,;

<cRelation>,;

[<lAutoClose>]

) Æ lSuccess

 

<oArrayServer>:SetRelation(

<oChild>,;

<cField> | <symField>,;

[<lAutoClose>]

) Æ lSuccess

 

<oArrayServer>:SetRelation(

<oChild>,;

<acField> | <asymField>,;

[<lAutoClose>]

) Æ lSuccess

Argumente

<oChild>Untergeordnete Datenserver, zu dem die Relation erstellt werden soll.
Datentyp:DataServer

 

<cbRelation>Codeblock mit dem die Relation zwischen diesem Datenserver und dem untergeordneten Datenserver erstellt werden soll.
Datentyp:Codeblock | _Codeblock-Objekt

 

<cRelation>Ausdruck als String mit dem die Relation zwischen diesem Datenserver und dem untergeordneten Datenserver erstellt werden soll. Wird das Argument <cbRelation> nicht übergeben, wird der String in ein _Codeblock-Objekt umgewandelt. Die Umwandlung erfolgt hierbei über den Befehl

 

&("{|Server| "+cRelation+"}")

 

Datentyp:String

 

<cField>Feldname als String mit dem die Relation zwischen diesem Datenserver und dem untergeordneten Datenserver erstellt werden soll. Aus dem Feldname wird ein _Codeblock-Objekt erzeugt. Der Feldname muss sowohl in diesem als auch im untergeordneten Datenserver definiert sein.
Datentyp:String

 

<symField>Feldname als Symbol mit dem die Relation zwischen diesem Datenserver und dem untergeordneten Datenserver erstellt werden soll. Aus dem Feldname wird ein _Codeblock-Objekt erzeugt. Der Feldname muss sowohl in diesem als auch im untergeordneten Datenserver definiert sein.
Datentyp:Symbol

 

<acField>Array von Feldname als Strings mit denen die Relation zwischen diesem Datenserver und dem untergeordneten Datenserver erstellt werden sollen. Aus den Feldnamen wird ein _Codeblock-Objekt erzeugt. Die Feldnamen müssen sowohl in diesem als auch im untergeordneten Datenserver definiert sein.
Datentyp:Array

 

<asymField>Array von Feldname als Symbols mit denen die Relation zwischen diesem Datenserver und dem untergeordneten Datenserver erstellt werden sollen. Aus den Feldnamen wird ein _Codeblock-Objekt erzeugt. Die Feldname müssen sowohl in diesem als auch im untergeordneten Datenserver definiert sein.
Datentyp:Array

 

<lAutoClose>Logischer Wert der definiert, ob der untergeordnete Datenserver automatisch geschlossen werden soll, wenn dieser Datenserver geschlossen wird. Wenn das Argument nicht übergeben wird, wird als Vorgabe der Wert FALSE verwendet.
Datentyp:Logic

Rückgabewert

lSuccessLogischer Wert der definiert, ob die Relation erstellt werden konnte.
TRUEDie Relation wurde erstellt.
FALSEDie Relation konnte nicht erstellt werden.
Datentyp:Logic

Beschreibung

bArrayServer:SetRelation() verknüpft diesen Datenserver mit einem untergeordneten Datenserver. Im untergeordneten Datenserver muss ein Index aktiv sein, dessen Ausdruck dem Ausdruck der Relation entspricht.

 

Vor der Operation wird die Nachricht NotifyIntentToMove an den untergeordneten Datenserver gesendet. Nach erfolgreicher Ausführung wird die Nachricht NotifyRelationChange an den untergeordneten Datenserver gesendet.

 

Durch eine Relation wird der untergeordnete Datenserver mit diesem Datenserver synchronisiert, indem der Datensatzzeiger im untergeordneten Datenserver automatisch positioniert wird, sobald der Datensatzzeiger in diesem Datenserver verändert wird.

Beispiel

Das folgende Beispiel erzeugt eine Relation zwischen den beiden bArrayServer <oasCUSTOMER> und <oasZIP>. Der bArrayServer <oasCUSTOMER> enthält Kundendaten. Der bArrayServer <oasZIP> enthält Ortsdaten zu Postleitzahlen. Nachdem die Relation zum bArrayServer <oasZIP> erstellt wurde, wird dieser bArrayServer immer auf die passenden Ortsdaten zur Postleitzahl des aktuellen Kunden im bArrayServer <oasCUSTOMER> positioniert.

 

// bArrayServer mit Kunden erzeugen

auStruct := {;

                               {"ID", "C", 5, 0},;

                               {"LASTNAME", "C", 20, 0},;

                               {"FIRSTNAME", "C", 15, 0},;

                               {"ZIPCODE", "C", 5, 0};

                       }

 

auData := {;

                               {"00001", "Schmidt", "Harald", "11501"},;

                               {"00007", "Bond",    "James",  "83617"};

                       }

 

oasCUSTOMER := bArrayServer{auStruct, auData, BINACTIVE, BDATAFORMAT_DBASE}

 

// bArrayServer mit Postleitzahlen erzeugen

auStruct := {;

                               {"ZIP", "C", 5, 0},;

                               {"CITY",  "C", 20, 0},;

                               {"STATE", "C", 2, 0};

                       }

 

auData := {;

                               {"82345", "Dallas", "TX"},;

                               {"11501", "New York", "NY"},;

                               {"87636", "Kansas City", "KS"},;

                               {"83617", "Chicago", "IL"};

                       }

 

oasZIP := bArrayServer{auStruct, auData, BINACTIVE, BDATAFORMAT_DBASE}

oasZIP:CreateOrder("Server:ZIP")

 

// Relation zwischen Kunden und Postleitzahlen erstellen

oasCUSTOMER:SetRelation(oasZIP, , "Server:ZIP", TRUE)

Siehe auch

bArrayServer:Children

bArrayServer:ClearRelation()

bArrayServer:Relation()

bArrayServer:SetSelectiveRelation()

 


Page url: http://www.YOURSERVER.com/index.html?barrayserver_setrelation.htm