| |
|
|
Dirk Kuntzmann | erg% = @db("Browse",I1,I2,S3,I4,S5,I6)
Syntax vor Version 10: erg% = @dbBrowse(I1,I2,S3,I4,S5,I6)
dbBrowse() ist ein Dialog, der das Arbeiten mit dBase-Tabellen erheblich vereinfacht (siehe auch: LINKF:[dbEdit]()). Die Tabelle muss zuvor mit LINKF:[dbOpen]() geöffnet und mit LINKF:[dbUse]() angewählt worden sein. Soll ein Index genutzt werden, muss er mit LINKF:[dbIndex]() geöffnet worden sein. (Ggf. ist er zuvor mit LINKP:[dBCreateIndex] zu erstellen.)
Parameterbeschreibung:
P:I1,P:I2 | - XY-Position des DBF-Browsers auf dem Bildschirm | P:S3 | - Titel (Überschriftzeile) | P:I4 | - Anzahl der darzustellenden Zeilen (3..100) | P:S5 | - Parameter zur Angabe der anzuzeigenden Felder (Spalten). Für jede Spalte werden drei Angaben (durch Semikolon getrennt) benötigt (max. 100 Spalten): - Name des Feldes in der Datenbanktabelle - Anzuzeigende Spaltenüberschrift für das Feld - Breite des Feldes in Pixeln | P:I6 | - Modus 0 = Nur lesen 1 = Ändern/löschen erlaubt 2 = Auswahlliste (gewählter Satz in Ergebnis der Funktion) 3 = Auswahlliste mit erweiterter Editierfunktion und Suchfunktion
Zum Modus sind 16 zu addieren (also 16, 17 oder 18), wenn beim Click in die Scrollbar (zwischen Button und Pfeil), die Liste nicht um 10% (Standard in XProfan) weitergescrollt werden soll, sondern exakt um die um 1 reduzierte Anzahl der dargestellten Zeilen. Das ermöglicht ein Blättern durch die Tabelle. |
Das Ergebnis richtet sich nach dem gewählten Modus:
0 | - Ohne Bedeutung | 1 | - ungleich 0 (null): Es wurde ein Datensatz geändert oder gelöscht | 2 | - Ausgewählter Satz |
Im Falle von Modus 1 ist es empfehlenswert bei einem Funktionsergebnis ungleich 0 (null) die Datenbanktabelle mit LINKF:[dbPack] zu packen und wenn ein Index genutzt wurde, ihn mit LINKP:[dbCreateIndex] neu zu erstellen. (Bei dbPack gehen grundsätzlich alle Indexinformationen verloren.)
Um einen Datensatz zu editieren, ist der entsprechende Radiobutton anzuklicken. Die Änderungen werden durch Betätigen der "ENTER"- bzw. "RETURN"-Taste abgeschlossen und in die Datenbanktabelle geschrieben. Mit "ESC", durch den Button "ZURÜCK" oder STRG-A, durch erneutes Anklicken der Zeile oder durch Anklicken einer anderen Zeile werden die Änderungen verworfen. Durch Drücken des Buttons "LÖSCHEN" oder STRG-L wird der Datensatz als gelöscht markiert (Er wird grau dargestellt); durch erneutes Wiederholen der Aktion wird er wieder hergestellt. Derart als gelöscht markierte Datensätze (graue Darstellung) werden erst dann endgültig gelöscht, wenn anschliessend LINKF:[dbPack] aufgerufen wird! Wenn man nicht im Editiermodus ist, kann man durch "NEU" bzw. STRG-N einen neuen leeren Datensatz einfügen. Wird ein Index genutzt, wird er an den Anfang der Tabelle gesetzt, ansonsten an deren Ende.
Im Auswahlmodus 2 wird der aktuell gewählte Datensatz bei "OK" zurückgegeben.
Der Modus 3 ermöglicht es, mit nur einem Aufruf eine komplette Anwendung für eine Tabelle zu realisieren. Im Modus 3 gibt es einen zusätzlichen Button "Ändern". Wenn man diesen drückt, wird der markierte Datensatz wie bei LINKF:[dbEdit]() zum Editieren geöffnet. Beendet man den Dialog mit "OK" wird die Änderung in die Tabelle übernommen. Der Button "Neu" öffnet hier auch den Editier-Dialog mit einem leeren Datensatz. Und hat die geöffnete Tabelle noch einen aktiven Index, so gibt es einen weiteren Button "Suchen" und man kann im Indexfeld (bzw. im ersten, wenn es ein Schlüssel aus mehreren Feldern ist) suchen. Datumsfelder müssen im landestypischen Format (also bei uns "TT.MM.JJJJ") eingegeben werden. Ansonsten erfolgt ein Hinweis und der Satz wird nicht übernommen. Ausserdem muss das Datum ein gültiges gregorianisches Datum sein.
Numerische Felder werden überprüft und im eingestellten Format dargestellt. Fehleingabe wird nicht ermöglicht.
Bei logischen Feldern wird das erste Zeichen der Eingabe ausgewertet. Die Buchstaben YyJjTt werden als wahr gewertet und als "T" in die Tabelle geschrieben; bei NnFf wird ein "F" geschrieben.
Werden bei Textfeldern zu lange Strings eingegeben, werden sie auf Feldlänge gekürzt.
|
|
|
| |
|
|