EleLa - Elektronik Lagerverwaltung Hilfe

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 oder SHOW 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.

Unterhalb der Tabelle ist ein Memo-Eingabefeld. Dieses Feld ist nötig um die Memo Felder editieren und anschauen zu können. Um eine Spalte mit dem Memo Feld zu verbinden muss zu erst in die Tabelle auf das gewünschte Feld geklickt werden. In der Tabelle wird ein Memo-Feld nur mit "(MEMO)" gezeigt.

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
Alt + 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 und PostgreSQL):
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


(c) 2010-2013 by Markus Müller E-Mail: mm@MmVisual.de