Skip to main content
Skip table of contents

TBeStandardTable

TBeStandardTable

Die Klasse TBeStandardTable kapselt Eigenschaften und Funktionen zum Lesen und Verändern von Tabellen-Daten.

Eigenschaften

Eigenschaft

 Beschreibung

CbFilter:C

Liefert den aktuellen Filter zurück oder setzt ihn.

CbFiltered:L

Aktiviert oder deaktiviert die Filterung der Tabelle.

CbFieldCount:N

Liefert die Anzahl der Datenbank-Felder zurück.

CbBoF:L

"Begin of File". Gibt an, ob sich die Tabelle auf dem ersten Datensatz befindet.

CbEoF:L

"End of File". Gibt an, ob sich die Tabelle auf dem letzten Datensatz befindet.

CbBookmark:C

Speichert die Position des aktuellen Datensatzes in einem Bookmark-String und kann die Position wieder auf diesen Datensatz setzen.

CbState:N

Liefert den aktuellen Status der Tabelle zurück. Mögliche Stati sind:
1 = dsBrowse
2 = dsEdit
3 = dsInsert

CbIndexname:C

Liefert den Namen des aktuellen Indexes zurück oder setzt einen neuen Index.

CbRecordCount:N

Liefert die Anzahl der Datensätze zurück.

CbRecNo:N

Liefert die Nummer des aktuellen Datensatzes zurück.

CbIsRecordLocked:L

Die Funktion prüft, ob der aktuelle Datensatz vom eigenen oder einem anderen Benutzer gesperrt ist.

CbDataAvailable:L

Die Eigenschaft ist True, wenn Datensätze sichtbar sind

CbNoDataAvailable:L

Die Eigenschaft ist True, wenn keine Datensätze sichtbar sind (z.B. wenn die Tabelle gefiltert ist)

CbPermFilterCount:N

Gibt die Anzahl der in der Tabelle gesetzten permanenten Filter zurück.
Diese Eigenschaft ist nur lesbar.

Funktionen

Funktion

Parameter

Beschreibung

CbCalcDataRecordSize():O

Feldgröße(n) eines Datensatzes ermitteln
Result - Array mit Feldinformationen

cFieldName:C

Feldnamen mit Semikolon getrennt, für die Felder, deren Größe ermittelt werden soll
default='' alle Felder

bDetermineStringSize:L

Tatsächliche Größe der String-Felder ermitteln

CbIsNoRecordMove():L

Die Funktion prüft, ob ein Datensatzwechsel derzeit möglich ist.
Result - Datensatzwechsel möglich



CbInsert():L

Die Funktion fügt einen neuen, leeren Datensatz in die Tabelle ein.
Ist dies nicht möglich, so wird eine Exception ausgelöst.
Result - Tabell im InsertMode



CbAppend():L

Die Funktion fügt der Tabelle einen neuen, leeren Datensatz hinzu.
Ist dies nicht möglich, so wird eine Exception ausgelöst.
Result - Tabelle im InsertMode



CbEdit():L

Die Funktion versetzt die Tabelle in den Bearbeitungsmodus.Ist dies nicht möglich, so wird eine Exception ausgelöst.
Result - Tabelle im EditMode



CbPost():L

Die Funktion schreibt neu angelegte oder editierte Datensätze in die Tabelle.
Ist dies nicht möglich, so wird eine Exception ausgelöst.
Result - Tabelle im BrowserMode



CbCancel():L

Die Funktion bricht den Bearbeitungsmodus der Tabelle ab und schreibt eventuell neu angelegte Datensätze oder neu zugewiesene Werte nicht in die Tabelle.
Ist dies nicht möglich, so wird eine Exception ausgelöst.
Result - Tabelle im BrowseMode



CbDelete():L

Die Funktion löscht den aktuellen Datensatz und setzt den Zeiger auf den nächsten Datensatz.
Ist dies nicht möglich, so wird eine Exception ausgelöst.
Result - Tabelle im BrowseMode



CbField():O

Die Funktion ermittelt ein Datenbank-Feld-Objekt anhand des Feldindexes und liefert es zurück.
Result - Datenbankfeld-Objekt vom Typ TField

nIndex:N

Index des Feldes

CbFieldByName():0

Die Funktion ermittelt ein Datenbank-Feld-Objekt anhand des Feldnamens und liefert es zurück.
Result - Datenbankfeld-Objekt vom Typ TField

cFieldName:C

Name des Feldes

CbLocate():L

Die Funktion sucht in der Datenmenge nach einem bestimmten Datensatz und macht diesem zum aktive Datensatz.
Result - Datensatz gefunden



cKeyFields:C

Feldnamen der Felder die durchsucht werden sollen. Durch Semikolon getrennt:
'Feld1;Feld2'

cKeyValues:C

Suchbegriffe als Array:
{Wert1, Wert2}

nOptions:N

Suchoptionen:
loCaseInsensitive - Schlüsselfelder und Schlüsselwerte werden ohne Berücksichtigung der Groß-/Kleinschreibung verglichen
loPartialKey - Schlüsselwerte müssen nicht vollständig übereinstimmen

CbFindKey():L

Die Funktion sucht in einer Datenmenge nach einem bestimmten Datensatz und macht diesem zum aktiven Datensatz. CbFindKey benutzt für das Suchen des Datensatzes einen Index.
Result - Datensatz gefunden

aKey:A

Schlüssel / Suchkriterium als Array
{Wert1, Wert2}

CbFindNearest():L

Die Funktion sucht in der Datenmenge den Datensatz der die größte Übereinstimmung mit aKey hat und macht diesen zum aktiven Datensatz. CbFindNearest benutzt für das Suchen des Datensatzes einen Index.
Result - Einen Datensatz gefunden

aKey:A

Schlüssel / Suchkriterium als Array
{Wert1, Wert2}

CbOldValue():V

Die Funktion repräsentiert den ursprünglichen Wert des Feldes. Nach einem CbEdit und vor einem CbPost.
Result - Wert des Feldes vor dem Edit

cFieldName:C

Name des Feldes, dessen alter Wert ermittelt werden soll

CbDisplayText():C

Die Methode repräsentiert den Feldwert, wie er in einem datensensitiven Steuerelement angezeigt werden kann.
Result - Anzeigetext

cFieldName:C

Name des Feldes, dessen Anzeigetext ermittelt werden soll

CbGoTo():L

Die Funktion springt zu dem Datensatz, dessen RecordNumber aRecordNo ist.
Result - Positionierung erfolgreich

nRecordNo:N

RecordNumber des Datensatzed, auf den positioniert werden soll

CbLockRecord():L

Die Funktion sperrt den aktuellen Datensatz. Der Datensatz kann solange nicht von anderen Benutzern editiert werden, bis die Datensatzsperre mit CbUnLockRecord() wieder aufgehoben wird.
Result - Datensatzsperre erfolreich



CbUnLockRecord():L

Die Funktion entsperrt den aktuellen Datensatz.
Result - Aufheben der Datensatzsperre erfolgreich



CbGetBookmarkEx():O

Die Funktion ermittelt ein BookmarkEx-Objekt welches detaillierte Information über den aktuellen Zustand der Tabelle bzgl. gesetztem Index, Range und Filter enthält.
Result - BookmarkEx-Objekt



CbGetRecAsArray():O

Die Funtkion ermittelt den aktuellen Datensatz als Array. Jedes Feld ist ein Element des Arrays.
Result - Datensatz als Array



CbIsNoRecordMove():L

Die Funktion liefert True zurück wenn NoRecordMove für die Tabelle aktiv ist, ansonsten liefert sie False zurück
Result - NoRecordMove aktiv



Methoden

Methode

Parameter

Beschreibung

CbFirst()

Die Methode positioniert den Zeiger auf den ersten Datensatz der Tabelle.



CbLast()

Die Methode positioniert den Zeiger auf den letzten Datensatz der Tabelle.



CbEnableControls()

Die Methode aktiviert die Benachrichtigungen von datensensitiven Steuerelementen, die mit der Tabelle verbunden sind, falls diese zuvor mit CbDisableControls() deaktiviert wurden.



CbDisableControls()

Die Methode verhindert die Benachrichtigungen von datensensitiven Steuerelementen, die mit der Tabelle verbunden sind. Es werden beispielsweise die Browser, welche auf die Tabelle zugreifen nicht mehr automatisch aktualisiert. Dies kann die Geschwindigkeit erheblich erhöhen. Es muss durch ein startseq - always - stopseq sichergestellt werde, das CbEnableControls() ausgeführt wird.



CbNext()

Die Methode verschiebt den Zeiger um einen Datensatz nach unten.



CbPrior()

Die Methode verschiebt den Zeiger um einen Datensatz nach oben.



CbMove()

Die Methode verschiebt den Zeiger um die Anzahl der Datensätze aus nRecordCount in die gewünschte Richtung. Wenn nRecordCount negativ ist wird der Zeiger nach oben verschoben, wenn nRecordCount positiv ist, wird der Zeiger nach unten verschoben

nRecordCount:N

Anzahl der Datensätze um die der Zeiger verschoben werden soll.

CbSetFilter()

Setzt einen Filter auf die Tabelle und aktiviert diesen.

cFilter:C

Logischer Filter-Ausdruck.

CbRefresh()

Die Methode aktualisiert die Datenmenge durch erneutes Abrufen der Daten aus der Datenbank.



CbSetRange()

Die Methode begrenzt den sichtbaren Bereich der Tabelle auf die Datensätze die zwischen den übergebenen Werten sind. Es muss ein gültiger Index auf der Tabelle aktiv sein. Die Parameter müssen beide als Array übergeben werde.

aTopValue:U

Werte für die Obere Begrenzung

aEndValue:U

Werte für die Untere Begrenzung

CbSetRangeEx()

Die Methode grenzt den sichtbaren Bereich der Tabelle auf die Datensätze ein, die dem übergebenem Wert entsprechen. Es muss ein gültiger Index auf der Tabelle aktiv sein. Der Parameter muss als Array übergeben werden.

aScopeValue:U

Werte für die Begrenzung

CbCancelRange()

Die Methode hebt die Begrenzung des sichtbaren Bereiches der Tabelle auf.



CbReplace()

Die Methode ersetzt den Wert des Feldes durch den übergebenen Wert.

cFieldName:c

Name des Feldes, dessen Wert ersetzt werden soll

vNewValue:V

Neuer Wert, der in das Feld geschrieben wird

CbGoToBookmarkEx()

Die Funktion setzt den Zustand der Tabelle auf einen zuvor mit CbGetBookMarkEx() ermittelten Zustand zurück. Gesetzt werden Index, Ranges und Filter.

aBookmark:O

Zuvor mit CbGetBookmarkEx() ermitteltes Bookmarkobjekt


aFreeBookmark:L

Gibt nach der Rückgabe das Bookmarkobjekt frei

CbSetRecAsArray()

Die Methode schreibt die Werte eines Record-Array in die Table. Die Table muss sich dabei im Einfüge- oder Editiermodus befinden.

aRecord:U

Record-Array

CbSetRecAsArrayEx()

Die Methode schreibt die Werte eines Record-Array in die Table. Die Table muss sich dabei im Einfüge- oder Editiermodus befinden.

aRecord:U

Record-Array

aIgnoreFields:C

Durch ';' getrennter String mit Feldnamen, die nicht aus dem RecordArray übernommen werden sollen

CbBeginNoRecordMove()

Die Methode aktivert die NoRecordMove-Logik für die Tabelle. Währen NoRecordMove aktiv ist, kann die Tabelle nicht umpositioniert werden.

cNoRecordMoveFormName:c

Name des Formulars, in dem die Tabelle die gesperrt werden soll, verwendet wird.

CbEndNoRecordMove()

Die Methode deaktivert die NoRecordMove-Logik für die Tabelle wieder. Wenn die Methode aufgerufen wird wenn die NoRecordMove-Logik nicht aktiv ist, wird eine Exception ausgelöst

cNoRecordMoveFormName:c

Name des Formulars, in dem die Tabelle die entsperrt werden soll, verwendet wird.

CbAddPermFilter()

Fügt einen permanenten Filter hinzu.

aFilter:c

Filterbedingung

CbRemovePermFilter()

Hebt alle permanente Filter auf.



CbGetPermFilter()

Liefert einen bestimmten Filterausdruck zurück. Falls der eingegebene Index in der Liste der Filter nicht vorhanden ist (z.B. -1), liefert die Funktion alle permanente Filterausdrücke zurück.

aFilter:N

Filterindex

CbSaveIndex()

Den aktuellen Index der Tabelle merken



CbSaveAndSetIndex()

Den aktuellen Index der Tabelle merken und auf den angegebenen Index setzen

cIndexName:C

Name des Index der auch gesetzt wird

CbResetIndex()

Auf den Zuletzt gemerkten Index zurücksetzen



Verfügbare Ereignisse

Ereignis

Beschreibung

NoRecordMoveChanged

Nach dem Umschalten der NoRecordMoveLogik

NoRecordMoveChanging

Beim Umschalten der NoRecordMove-Logik

Beispiel

CODE
//##############################################################################
//##############################################################################
// Beschreibung: Neues Memo anlegen und die Größe der enthaltenen Daten ermitteln
//##############################################################################
//##############################################################################

| m_oDab065, m_oMemoBO |

 m_oDab065           := CreateObject('TBeStandardTable' , 'ARTIKELSTAMM'),
 m_oDab065.WorkArea  := waDab065,
 m_oDab065.IndexName := 'Dab06B',
 m_oMemoBO           := CreateObject('TBeMemoBo', 'MEMOS'),
 startseq
    // Neues Memo anlegen
    m_oMemoBO.WriteLastUsedUserID := 65,
    m_oMemoBO.WriteLastUsed       := true,
    m_oMemoBO.CbInsertEmptyMemo(10, bcMemoLinkIDUser, 65, 0),
    m_oMemoBO.SubjectValue := 'Neues Memo',                                  // Memo-Feld
    m_oMemoBO.CbCreatedBy  := '65',                                          // String-Feld
    m_oMemoBO.CbPost(),

    // Auf des neu angelegte Memo positionieren
    m_oDab065.Active := True,
    DBSeek({m_oMemoBO.CbID}, m_oDab065),

    // Felder prüfen
    WriteLn(m_oDab065.CbCalcDataRecordSize('PLATZ', True)),
    WriteLn(m_oDab065.CbCalcDataRecordSize('PLATZ', False)),
    WriteLn(m_oDab065.CbCalcDataRecordSize('DATA', True)),
    WriteLn(m_oDab065.CbCalcDataRecordSize('BETREFF', True)),
    WriteLn(m_oDab065.CbCalcDataRecordSize('', True)),
    WriteLn(m_oDab065.CbCalcDataRecordSize('', False)), 
 always
    DestroyObject(m_oMemoBO),
    DestroyObject(m_oDab065),
 stopseq,


JavaScript errors detected

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

If this problem persists, please contact our support.