Extras - Datenbank
Unter dem Reiter "Datenbank"
kann direkt ein SQL-Befehl eingegeben werden. Damit ist es möglich
alle Daten anzuzeigen und zu editieren oder löschen.

Die Datenbank öffnet bei
SELECT eine Tabelle, bei anderen Befehlen wird der SQL-Befehl ausgeführt,
z.B. UPDATE zeigt keine Tabelle. Mit der Taste "Execute" kann
ein SQL Befehl ausgeführt werden. Alle SQL-Befehle werden unter "Log"
in das Logbuch geschrieben, woraus man sie wieder kopieren kann (Historie).
Die Daten in der Tabelle können sogar manipuliert werden. Wenn Felder
mit einem "ID" im Feldname geändert werden kann die Konsistenz
der Daten nicht gewährleistet werden.
Das Häkchen "MultiInsert" ist nur sichtbar bei Benutzung
der SQLite Datenbank.
Hier werden MySQL Tabellen-Inserts, die als Mehrzeilige Inserts ausgeführt
sind automatisch einzeln nacheinander ausgeführt, denn dies unterstützt
SQLite nicht.
Bei einer SELECT Anfrage werden
die Felder je nach Feldname formatiert um die Lesbarkeit zu erhöhen:
| Feldname |
Datentyp |
Formatierung |
| EPreis, GPreis, Aufwand,
Raster. ValFloat |
Real |
Zahl als 0.00## |
| Gewicht |
Real |
Zahl als 0.### |
| Tree_Typ_ID |
Integer |
Anzeige des Typ-Baumes
wie bei "Bauteil" |
| SMD, Top |
Integer |
Anzeige Ja / Nein |
| * |
* |
Begrenzung der Display-Width
auf 25 Zeichen |
Sobald eine Tabelle mit SELECT
geöffnet wurde kann sie gedruckt oder mit der Export-Funktion exportiert
werden.
Mit der Taste "Alles Öffnen"
können alle Tabellen der anderen Reiter aktualisiert werden. Alternativ
kann auch das Programm geschlossen und wieder geöffnet werden. Dies
ist nötig wenn Daten über diese "Datenbank"-Funktion
direkt manipuliert werden.
| Taste |
Beschreibung |
 |
Speichere Änderung |
 |
Abbruch ohne speichern |
 |
Löschen Eintrag |
 |
Druck als Tabelle |
 |
|
| Strg + e |
führt Taste "Execute"
aus |
Demo-SQL Scripte
Abfrage der Lagerliste mit
allen eingelagerten Bauteile, Gehäuseart sowie Einzel- und Gesamtpreis
und Lieferanten sowie der Summe der Gesamtpreise:
SELECT b.ID, b.tree_typ_ID, b.Bezeichnung AS Bezeichnung,
l.Bezeichnung AS LBez, g.Bezeichnung AS CBez, l.SMD,
k.Bezeichnung AS KBez, l.LagerNr, l.Menge, adr.Bezeichnung AS AdrBez,
a.BestellNr, a.EPreis, (a.EPreis * l.Menge) AS GPreis
FROM bauteil b
LEFT JOIN bauteillager l ON (b.ID = l.Bauteil_ID)
LEFT JOIN bauteiladr a ON (l.ID = a.BauteilLager_ID)
LEFT JOIN `case` g ON (g.ID = l.Case_ID)
LEFT JOIN kiste k ON (k.ID = l.Kiste_ID)
LEFT JOIN adr ON (adr.ID = a.Adr_ID)
UNION
SELECT '-1', COUNT(b.ID), ' _SUMME_', '', '', '', '', '', SUM(Menge),
'', '', '', SUM(a.EPreis * l.Menge)
FROM bauteil b
LEFT JOIN bauteillager l ON (b.ID = l.Bauteil_ID)
LEFT JOIN bauteiladr a ON (l.ID = a.BauteilLager_ID)
LEFT JOIN `case` g ON (g.ID = l.Case_ID)
LEFT JOIN kiste k ON (k.ID = l.Kiste_ID)
LEFT JOIN adr d ON (d.ID = a.Adr_ID)
ORDER BY Bezeichnung
Anzeige wie viele Bauteile
bereits angelegt wurden:
SELECT COUNT(ID) FROM bauteil
Komprimieren der Datenbank
(nur SQLite):
Vor einem Komprimieren sollte unbedingt die Datenbankdatei *.SQ3 gesichert
werden. Ein Komprimieren baut die Datenbank neu auf und entfernt dabei
alle gelöschten Datensätze. Es muss sichergestellt sein, dass
kein zweites Programm die Datenbank während dem Komprimieren benutzt.
VACUUM
|