[ Start - Installation - Konfiguration - Datenschema ändern - Neuer Eintrag - Eintrag kopieren - Eintrag löschen - Templates erstellen ]

Tabellenschema

Das Schema für die Tabellen ist in der Datei options/schema.xml definiert. Die Syntax dieser Datei ist durch die Datei options/schema.dtd festgelegt.

Syntaxerläuterung

schemes Der erforderliche Head-Node.
dataschema Enthält die Daten für eine Tabelle - sowohl auf SQL-Ebene als auch für die Tabellen im Hauptfenster.
name Der Name der Tabelle. Muss SQL-konform sein, also z. B. keine Umlaute oder Leerzeichen.
backupdataschema Enthält den Namen des Schemas, in das bei neuen Einträgen eine Kopie gemacht werden soll.
autoloadcondition Die Bedingung, unter der ein Dateneintrag beim Programmstart automatisch geladen wird, in SQL-Syntax. Sollen z. B. alle Einträge für unfertige Aufträge geladen werden, so kann hier stehen:
                        Status='nicht erledigt'
                    
Dabei muss Status irgendwo als columnname innerhalb des gleichen dataschema aufgeführt sein.
mailcondition Die Bedingung, bei der eine Mail verschickt wird. Ähnlich autoloadcondition, jedoch ohne Anführungszeichen für string-Typen. Ist ein mailcondition-Eintrag vorhanden, so muss auch columnname mit dem Inhalt email vorhanden sein. Dieser ist dann die Zieladresse. Siehe auch Mail-Templates.
printtemplate Hier kann eine Liste von Dateien sein, getrennt mit Kommata (","). Wird im Dialog für neue Einträge ein Ausdruck angefertigt, so kann der Benutzer eine dieser Listen wählen. Es darf also mehr als einen solchen Satz geben.
Beispiele:
        <printtemplate>
            options/print-Auftraege01,options/print-Auftraege02
        </printtemplate>
        <printtemplate>
            options/print-RMA01,options/print-RMA02
        </printtemplate>
        <printtemplate>
            options/print-Overview
        </printtemplate>
                    
In diesem Fall hat der Benutzer 3 Möglichkeiten:
  • Die Templates options/print-Auftraege01 und options/print-Auftraege02 anwenden oder
  • Die Templates options/print-RMA01 und options/print-RMA02 anwenden oder
  • nur das Template options/print-Overview anwenden.
datacolumn Eine Datenspalte - sowohl im Sinne von SQL als auch im Sinne der Tabellen, die in der Anwendung angezeigt werden.
type Typ der Datenspalte.
int Ganzzahl
string Zeichenkette beliebigen Inhaltes
string[] Eine Auswahl (combo box) von verschiedenen Zeichenketten, die in choices definiert werden.
date Ein Datum.
boolean Ein Wahrheitswert: true oder false.
requiredforupdate true / false, je nachdem, ob dies eine Pflichtangabe ist.
indirectlyinvisible true genau dann, wenn das Datenfeld im Dialog "Neuer Eintrag" ausgeblendet werden soll, wo diese datacolumn nur als associateddataschema auftaucht.
columnname Name der Datenspalte - sowohl im Sinne von SQL als auch im Sinne der Tabellen, die in der Anwendung angezeigt werden.
associateddataschema, nameinassociatedschema Name eines Datenschemas, das mit dieser Datenspalte verknüpft ist. Z. B. kann die Datenspalte Kunde in der Tabelle Aufträge mit der Tabelle Kunden assoziiert sein. Dann sieht die korrekte Syntax so aus:
                        <associateddataschema>
                            Kunden
                        </associateddataschema>
                        <nameinassociatedschema>
                            ID
                        </nameinassociatedschema>
                    
Es sollte immer ID als nameinassociatedschema verwendet werden.
choices Nur verwendet beim type string[]. Eine mit Kommata getrennte Liste von Auswahlmöglichkeiten als Wert für diese Datenspalte.

Verändern eines bestehenden Schemas

Es gibt 3 Möglichkeiten, ein bestehendes Datenschema zu verändern:
  1. Starten Sie das Programm. Ändern Sie in den Optionen den Wert für "Datenbank", z. B. in "neu". Beenden Sie das Programm. Starten Sie den MySQL-Client (mysql.exe unter Windows) und loggen Sie sich in die Datenbank ein. Erstellen Sie eine Datenbank mit genau dem Namen, den Sie gerade eingegeben haben, z. B.:
                        create database neu;
                    
    Erstellen Sie nun eine neue Datei options/schema.xml nach Ihren Wünschen.
  2. Ändern Sie alle Einträge für name, um Konflikte mit dem alten Schema zu vermeiden.
  3. Ändern Sie auch die MySQL-Tabellen genauso, wie Sie das Datenschema in options/schema.xml verändern. Diese Option ist nicht empfehlenswert: Entfernen Sie bestehende Spalten, so geht Ihnen die Information für bestehende Einträge verloren. Fügen Sie welche hinzu, so sind diese bei bestehenden Einträgen fehlerhaft. (Wenn Sie sich z. B. entschließen, eine neue Spalte "Eingangsdatum" hinzuzufügen, dann gibt es keine Möglichkeit, dieses für bestehende Einträge zu rekonstruieren.)

    Falls ich Sie dennoch nicht davon abhalten konnte, hier ein Beispiel:

    Sie wollen in die Tabelle Kunden eine Spalte Alterr einfügen. Editieren Sie options/schema.xml und fügen Sie folgenden Eintrag direkt vor dem schließenden Tag </dataschema> ein:

                        <datacolumn>
                            <type>
                                int
                            </type>
                            <requiredforupdate>
                                true
                            </requiredforupdate>
                            <columnname>
                                Alterr
                            </columnname>
                        </datacolumn>
                    
    Loggen Sie sich in die SQL-Datenbank ein (mysql.exe unter Windows). Wechseln Sie in die Datenbank, die Sie in den Optionen (Datei/Optionen im Hauptfenster) unter "Datenbank" eingetragen haben, z. B. "test":
                        use test;
                    
    Geben Sie jetzt ein:
                        alter table Kunden add Alterr INT default 0;