Programmieren mit dBASE PLUS: Funktionen: beginAppend
Diese Methode legt unter Verwendung der Struktur der aktuellen Tabelle im Arbeitsspeicher einen temporären Puffer für einen Datensatz an. Der Benutzer kann Daten in den Datensatz eingeben, ohne daß dieser automatisch zur Tabelle hinzugefügt wird.
Eigenschaft von
[Bearbeiten]Beschreibung
[Bearbeiten]Die Methode beginAppend( ) dient zur formularorientierten Datenverwaltung von Tabellen in Arbeitsbereichen. Bei der Verwendung von Datenzugriffsobjekten hat beginAppend( ) keine Auswirkungen. Verwenden Sie in diesem Fall die Methode beginAppend( ) des Datensatzbereichs.
beginAppend( ) legt einen einzelnen Datensatzpuffer in der aktuellen Tabelle an. Der Datensatz wird der Tabelle aber erst durch einen Aufruf von saveRecord( ) hinzugefügt. Solange der Puffer existiert, kann der Benutzer mit Hilfe von Steuerelementen, wie z.B. Eingabefeldern und Kontrollkästchen, Daten in den Datensatz eingeben. Der Datensatz kann dann entweder mit saveRecord( ) an die aktive Tabelle angefügt oder mit abandonRecord( ) verworfen werden. Wenn Sie anstelle von saveRecord( ) erneut beginAppend( ) aufrufen, wird der neue Datensatz gespeichert und der Puffer geleert. Der Benutzer kann dann einen weiteren Datensatz hinzufügen. Mit Hilfe von isRecordChanged( ) können Sie feststellen, ob der Datensatz seit dem letzten Aufruf von beginAppend( ) geändert wurde.
Beim Anfügen von Datensätzen mit beginAppend( ) führt der Aufruf von saveRecord( ) nur dann zum Speichern des neuen Datensatzes, wenn dieser geändert wurde. Ein neuer leerer Datensatz wird verworfen. Dies verhindert das Speichern leerer Datensätze in der Tabelle. (Zum Erzeugen von leeren Datensätzen muß APPEND BLANK verwendet werden.) Durch einen Aufruf von isRecordChanged( ) können Sie feststellen, ob Änderungen vorliegen. Wenn isRecordChanged( ) True zurückgibt, sollte eine Gültigkeitsprüfung auf Formular- oder Datensatzebene für den Datensatz durchgeführt werden, bevor er in der Tabelle gespeichert wird.
Mit beginAppend( ) erhalten Sie andere Ergebnisse als bei BEGINTRANS( ) und APPEND BLANK oder APPEND AUTOMEM. Wenn Sie die Anfügeoperation bei diesen Befehlen abbrechen, wird der Tabelle ein als gelöscht markierter Datensatz hinzugefügt. Dagegen führt der Abbruch einer beginAppend( )-Operation mit Hilfe von abandonRecord( ) nie zur Aufnahme eines Datensatzes in die Tabelle.