Export
Tabellen erstellen
`Kurzfassung`
Was heißt das?

Eine Tabelle besteht aus Zeilen und Spalten. Jede Zeile stellt einen Datensatz dar, die Spalten enthalte bestimmte Datenelemente. Relationale Datenbanken bestehen intern aus Tabellen, das ist ihr Bauprinzip. allegro-Daten sind dagegen nicht in Tabellen organisiert, denn dieses Konzept ist für eine bibliothekarische Datenbank zu unflexibel. Gelegentlich will man aber trotzdem eine Tabelle haben, die nur aus bestimmten, ausgewählten Feldern der Sätze einer Ergebnismenge oder der gesamten Datenbank besteht. Das ist leicht zu machen. 
Hinweis: Es geht hier um das Erstellen von Tabellendateien als Export aus einer allegro-Datenbank.  Die umgekehrte Aufgabe, das Umwandeln von extern aus SQL-Datenbanken erzeugten Tabellen in allegro-Datensätze, kann man mit dem `Importprogramm` lösen oder auch mit einem FLEX-Skript. Mehr dazu in einem `anderen Text`.
Mit "Tabellen" sind hier Dateien gemeint, wie man sie mit Office-Programmen, relationalen Datenbanken und anderer Software einlesen kann: Für jeden Datensatz eine lange Zeile, bestehend aus einer Anzahl Datenfelder, die durch ein Tabulatorzeichen getrennt sind. Ein bekannter Name dafür ist "CSV-Datei". Wenn man eine solche Datei z.B. in WinWord einfügt, kann man danach sofort den Text markieren und über das Menü "Tabelle" in eine richtige Tabelle umwandeln lassen. Selbstverständlich bleiben bei diesen Funktionen die Daten innerhalb der Datenbank völlig unverändert, wie bei jedem Export! Die Tabelle, die herauskommt, besteht nur aus Kopien der Daten. 
Die Tabelle ist eine Textdatei und heißt tab.txt. Ist sie fertig, gehen Sie in das Dokument, wo die Tabelle eingefügt werden soll, z.B. ein Word-Dokument, und holen sich diese Datei herein (meistens mit einer Menüfunktion "Einfügen / Datei").
Tip: Es gibt noch andersartige Tabellen, sog. "Views" oder "Sichten". Diese können auch ohne Fremdsoftware innerhalb von a99 sofort betrachtet werden. Rufen Sie dazu das `View-System` auf. 
Für den Austausch mit relationalen Datenbanken gibt es ab V25 das neue Konzept `aresqa`. 
%=x if not #uq5 #uq4Office`if not #uq5 #uq5SQL% 
Und was ist zu tun?

`Neue Tabellenstruktur einrichten` 
  Welche Felder, welche Ordnung und Reihenfolge?
Sie haben eine Vorstellung, wie Ihre Tabelle aussehen soll, d.h. welche Felder in welcher Reihenfolge darin stehen sollen - mit anderen Worten, was die Spalten der Tabelle sein sollen? Diese Angaben können Sie in Form einer kleinen Liste eingeben. Auch die Ordnung kann dabei festgelegt werden, und zwar kann alphanumerisch oder numerisch (d.h. nach Zahlenwert) geordnet werden. [Letzteres geht nicht bei der nachfolgend beschriebenen Schnellmethode.]
Möglicher Sonderfall: nur ein einzelnes Feld, d.h. eine einspaltige Tabelle. Dann geben Sie eben nur diese eine Feldnummer an. 
Das Programm macht die Erstellung der Feldliste sehr einfach und übersichtlich. Aber auch wenn beim ersten Versuch nicht das Richtige herauskommt, hilft das System weiter! Dafür gibt es den Punkt "Tabellenstukturen sichten", s.u. 
Es entsteht eine Strukturdatei  t-abc.str  und eine Parameterdatei   t-abc.apr. mit dem von Ihnen gegebenen Namen abc. Auf die str-Datei wird zurückgegriffen, wenn man die Struktur verändern will. Wer sich auskennt, kann auch die  .apr  selber modifizieren und verfeinern! 

Eine neue Struktur einrichten kann man auch noch schneller mit der sog. 

`Schnellmethode` 
(Nur die Nummern der Felder eingeben) 
Hier kommt nur eine Eingabezeile mit der Aufforderung, die gewünschten Feldnummern einzugeben. Man gibt die Nummern ein, getrennt jeweils durch ein Leerzeichen. Soll es nur der Inhalt eines Unterfelds sein, setzt man ein $ und den Unterfeld-Code direkt hinter die Feldnummer.  Dann wird die t-Parameterdatei daraus vollautomatisch gebildet, zusätzlich auch die q-*.str für die aresqa-Methode (s.u.). Wird nur der Anfangsteil des Feldes gewünscht, also der Text vor dem ersten Unterfeld, setzt man $$ hinter die Feldnummer. 
Die Feldnamen werden, anders als bei der ersten Methode, aus der CFG und aus der Datei X.CFL entnommen 
Wichtig: Die erste der eingegebenen Feldnummern dient zugleich als Sortierfeld, d.h. die Tabelle wird danach geordnet (falls man Ordnen verlangt). Außerdem: Wenn ein Datensatz dieses Feld nicht enthält, wird dafür nur dann ein Tabelleneintrag gemacht, wenn man ohne "Sortierung" tabellieren läßt.  
Automatisch entstehen Strukturdateien namens t-nnn-s.apr und q-nnn-s.str, wenn #nnn$s das erste eingegebene Datenfeld ist. Diese Dateien dürfen natürlich auch frei modifiziert werden, wenn man sich auskennt.

`Tabellenstrukturen sichten` 
  Eine vorhandene Struktur auswählen. %=x #uqU`#uqV`var #uqT`if "" #uqV [keine]`var 'Momentane Einstellung: '`ins #uqU`var #uqT(e"." e" " B"~q-" B"~t-")`ins #uq0%%#uqU %#uq0%#uqV 
Strukturen, die man irgendwann einmal mit einer der beiden Methoden festgelegt hat, sind immer wieder für neue Ergebnismengen verwendbar. Mit dieser Funktion sieht man die vorhandenen Strukturen und kann eine davon auswählen. Diese kann entweder sofort auf die aktuelle Ergebnismenge "losgelassen" werden, oder aber man schaut sich die Struktur nochmals an und macht evtl. Veränderungen, bevor man sie anwendet. 
Die Strukturdateien fangen alle mit  T-  an und haben den Typ .xpr, also z.B.  T-xyz.apr.  Wenn Sie z.B. mit d.cfg  arbeiten, ist es T-xyz.dpr.  xyz ist der von Ihnen gegebene Name der Struktur.) 
Strukturen für aresqa sind einfacher, sie bestehen praktisch nur aus einer Liste der gewünschten Feldnummern. Diese Strukturdateien haben den Typ  .str  und der name beginnt mit  q- .
Wenn man eine neue Struktur einrichtet, entsteht zusätzlich automatisch eine .str-Datei! 

`Ergebnismenge tabellieren` 
  Aus der Erg.Menge eine Tabelle machen
Wenn eine Struktur neu erstellt oder ausgewählt wurde, kann sie mit diesem Menüpunkt auf die aktuelle Ergebnismenge angewendet werden. Dieser Vorgang läuft dann vollautomatisch und sehr schnell ab. Heraus kommt, wie erwähnt, eine Datei namens  tab.txt. 
Vorher wird gefragt, ob Sortierung gewünscht ist. Wenn ja, wird nach dem Inhalt des ersten Datenfelds geordnet, welches in der Tabellenstruktur eingestellt wurde. 
Die Datei  tab.txt  können Sie gleich nach der Fertigmeldung mit anderen Programmen einlesen! 
(Das Delimiter-Zeichen ist übrigens das Tabulatorzeichen, falls Sie das wissen müssen. In Ihrer Strukturdatei, also T-xyz.apr, könnten Sie das sogar ändern.) 
Vorher kann man aber einstellen, ob die Tabelle dann für Office-Programme gebraucht wird oder für eine Behandlung mit SQL:
Tabelle soll geeignet sein für
` %#uq4`%#uq5`%#uq6  ` 
(Jetzt wirksam: %#uq4%#uq6. Umschalten: auf %#uq5 klicken) 
Die für SQL geeigneten Tabellen haben als erste Spalte die interne Satznummer oder einen eindeutigen Schlüssel, das ist der wichtigste Unterschied! Denn nur so können bearbeitete Tabellen dann wieder eingelesen und den richtigen Sätzen in der allegro-Datenbank zugeordnet werden. Zudem gibt es ein passendes SQL-Skript, mit dem man die erstellte Tabelle dann in eine RDB laden kann. Dieses Skript enthält die Feldbezeichnungen, während diese bei einer Office-Tabelle die erste Spalte der Datei  tab.txt  bilden.

`Ganze Datenbank tabellieren` 
  Aus der gesamten Datenbank eine Tabelle machen
Auch dieses kommt in der Praxis vor: Der gesamte Inhalt einer Datenbank soll in Form einer Tabelle einem anderen Programm übergeben werden. Hiermit geht das ohne Umschweife und mit jeder Tabellenstruktur, die man sich ausgedacht hat. Hinsichtlich Sortieren gilt dasselbe wie bei "Ergebnismenge tabellieren".

`Ausgabedatei`: %#uqN 
  Dateiname ändern 
	Falls der Name %#uqN nicht günstig ist. 

`Tabellendatei einlesen  ` 
  Daten nach externer Bearbeitung wieder einspeisen 
Eine mit aresqa oder einem RDBS produzierte Tabelle der Struktur %#uq0 kann mit dieser Funktion in die allegro-Datenbank eingelesen werden. Die Tabellenzeilen werden dann den richtigen Sätzen zugeordnet und die Spalten den richtigen Feldern.

?Neue Tabellenstruktur einrichten=h tabinit 
?Tabellenstrukturen sichten=X tabpick 
?Ergebnismenge tabellieren=x var ""\ins #uqF\exec X tabprod 
?Ganze Datenbank tabellieren=x var "G"\ins #uqF\exec X tabprod 
?HILFE..HILFE..HILFE=h tablh 
?View-System=h view 
?Kurzfassung=h table 
?aresqa=h aresqa 
? Office=x #uq4`#uq5Office`#uq6SQL`h tablh#50 
?Office=x #uq4Office`#uq5SQL`#uq6`h tablh#50 
?SQL  =x #uq4Office`#uq5SQL`#uq6`h tablh#50 
?SQL=x #uq4`#uq5Office`#uq6SQL`h tablh#50 
?Tabellendatei einlesen  =X aresqa2 
?Schnellmethode=X tabconf 
?Ausgabedatei=x ask Dateiname?=#uqN`if not "" ins #uqN`help tablh#82 
?anderen Text=h vb279 
?Importprogramm=h fremd#295