DataUnlimited GmbH
DataUnlimited GmbH
Wir möchten Ihnen auf dieser Seite einige Technikdetails vorstellen, um Ihnen eine Vorstellung möglicher Lösungswege für Ihre Anwendung zu geben.
Durch die Einbettung eines Explorerfensters auf ein Formular wird direkt aus der Anwendung ein Zugriff auf alle Dateien eines Verzeichnisses möglich. Da das Explorerfenster durch das Programm steuerbar ist, müssen Sie keine Ordnernamen eingeben oder Ordner anlegen, dies erledigt anhand zuvor festgelegter Regeln das Programm selbstständig. So kann zu jedem Datensatz eine beliebige Menge Dateien abgelegt werden, ohne dass die Datenbank auch nur minimal aufgebläht würde.
Beispielsweise können alle zu einem Kunden gehörenden Dokumente wie Rechnungen, Angebote usw. direkt angezeigt werden, Bilder oder eMails sowie Verweise auf Internetseiten sind ebenfalls möglich. Gleichzeitig entsteht ein Ordnerbaum der sich auch ohne Programm, nur mit dem Explorer, nutzen lässt.
So erhalten Sie mit minimalem Programmieraufwand ein äußerst flexibles Dokumentenmanagementsystem, welches Suchfunktionen (innerhalb der Datensätze) mit Dokumenten verbindet.
Obwohl ein sog. Kombinationsfeld alltäglich ist, möchten wir es hier dennoch erwähnen, da es für das Verständnis einer Anwendung wesentlich ist. Ein Kombinationsfeld (Dropdownfeld) kombiniert ein Eingabefeld mit einer Auswahlliste für diese Eingabe. Eingabefelder auf Formularen werden von uns in den meisten Fällen als Kombinationsfelder ausgeführt, da durch die Auswahlliste der Bedienungskomfort deutlich erhöht wird. Wesentlicher Vorteil eines Kombinationsfeldes ist die automatische Ergänzung von Teileingaben zu einem Element der Auswahlliste, in der Abbildung reichten z.B. vier Buchstaben "VERE" aus, um das Listenelement "Vereine und Gesellschaften" auszuwählen.
Klappt man diese Felder auf, werden nur noch die Begriffe mit ihrer Häufig- keit angezeigt, die in der aktuellen Treffermenge vorkommen. Man erhält so eine gute Übersicht über das aktuelle Suchergebnis und kann gleichzeitig weiter einschränken. Ergänzend verwenden wir auch häufig ein "Stichwort" Feld, welches mehrere Datenbankfelder nach einen Textfragment durchsucht.
Aus der Ergebnisliste kann dann ein Datensatz für die Bearbeitung / Detaildarstellung ausgewählt werden.
Eigentlich selbstverständlich, dennoch oft unterschätzt: Aus unseren Anwendungen heraus können weitere Programme/Dokumente gestartet werden. Z.B. das automatische Öffnen einer Konstruktionszeichnung, ein automatisch ausgeführter Serienbrief, eine Excel-Grafik oder der Acrobat Reader.
Eine stored procedure (STP) ist ein Programmfragment, welches im Datenbankserver gespeichert und auch vom Datenbankserver direkt ausgeführt wird. Im Microsoft SQL-Server besteht dieses Fragment aus Befehlen der Sprache Transact-SQL (T-SQL), d.h. SQL-Befehlen wie SELECT oder INSERT, die unter einem Prozedurnamen abgespeichert werden. Stored procedures sind sehr schnell (effizient) in der Ausführung, da die Daten zur Verarbeitung nicht über das Netzwerk transportiert werden müssen.
Wenn wir auch meistens Excel abschaffen, d.h. durch eine Datenbankanwendung ersetzen, so hat Excel doch viele Vorteile, insbesondere ist eine Rechenlogik in Excel leicht durch den Kunden selbst zu erstellen oder abzuändern. Auch lassen sich dort sehr einfach schicke Geschäftsgrafiken erstellen.

Wie kommen aber die Daten aus der Unternehmensdatenbank in Excel hinein?
Eine Möglichkeit ist, über ODBC direkt Daten vom (SQL)-Server abzurufen. Das geht auch mit stored procedures (STP), die den Vorteil haben, dass sie die gewünschte, ggf. komplexe Funktionalität gekapselt bereitstellen. Die Eingabeparameter der STP lassen sich dabei mit dieser Syntax an Excel-Zellen binden:
{ CALL database.schema.stp_name (?, ?) }
Für jeden STP-Parameter, der mit "?" bezeichnet wird, erstellt Excel automatisch einen Excel-Parameter, der sich an eine Excel-Zelle binden lässt.
Im Ergebnis geben Sie z.B. den Auswertungszeitraum einfach in eine Excel-Zelle ein, und das gewünschte Diagramm für den Zeitraum erscheint aus der Datenbank. Das geht sogar ohne Makros oder VBA.