SelRead
Mit dieser Funktion wird die Selektion (alpha3) aus der Datei (int1) in den Puffer (obj) geladen. Der Puffer muss zuvor mit dem Befehl ``SelOpen() eingerichtet werden. Sofern die angegebene Selektion nicht vorhanden ist, wird die Selektion mit dem nächstgrößeren Namen geladen und _rNoKey zurückgeliefert. Bei Verwendung von _SelFirst, _SelLast, _SelNext und _SelPrev kann auf den Selektionsnamen verzichtet werden.
In (int2) können folgende Optionen angegeben werden:
-
Die erste Selektion der Datei wird geladen.
-
Die letzte Selektion der Datei wird geladen.
-
Die Selektion mit dem nächstkleineren Namen wird geladen. Sofern keine weitere Selektion in der Datei vorhanden ist, wird als Resultat
_rNoReczurückgeliefert. -
Die Selektion mit dem nächstgrößeren Namen wird geladen. Sofern keine weitere Selektion in der Datei vorhanden ist, wird als Resultat
_rNoReczurückgeliefert. -
Die gelesene Selektion wird gesperrt. Dies ist nur dann der Fall, wenn
_rOkzurückgeliefert wird (Selektion vorhanden). Ist die Selektion durch einen anderen Benutzer gesperrt, so ist das Resultat_rLocked. -
Die gelesene Selektion wird gesperrt. Andere Benutzer können noch lesend auf die Selektion zugreifen. Mit dieser Sperr-Option kann die Selektion nur gelesen, nicht aber geändert werden. Soll die Selektion verändert werden, muss sie mit der Option
_SelLockgesperrt werden. -
Die gelesene Selektion wird entsperrt.
-
Alternativer Verarbeitungsmodus
-
Schlüsselwerte in Selektion aktualisieren
Die Angabe von _SelLock ist notwendig, wenn mit den Ergebnismengen der Selektion gearbeitet werden soll (siehe SelClear(), SelRecInsert(), SelRecDelete(), RecRead() und RecLink()).
Die gelesene Selektionsmenge kann in einem RecList-Objekt angezeigt werden, in dem der von ``SelOpen() zurückgegebene Deskriptor in die Eigenschaft DbSelection eingetragen wird.
Eine Selektion sollte immer dann verwendet werden, wenn ein deutlich kleinerer Teil der Datensätze das Selektionskriterium erfüllt. Als Alternative können auch Filter oder Verknüpfungen zum Einschränken der Anzahl der Datensätze verwendet werden.
Beispiel
tHdlSel # SelOpen();
tErg # tHdlSel->SelRead(tblCstCustomer, _SelLock, 'SEL_PLZ');
tErg # tHdlSel->SelRun();
...
Mögliche Laufzeitfehler:
_ErrHdlInvalid: Selektions-Deskriptor (obj) ungültig_ErrStringOverflow: Selektionsname (alpha3) zu lang