Leistungen

Tätigkeit – Beispiele

Erstellen und Begleiten von Datenbankanwendungen, meist mit eingehender Analyse betrieblicher Anforderungen. Z.B.:

  • Erstellen eines Verwaltungssystems für Buchtitel und Ausgaben für einen Verlag
  • Erstellen von Ablagesystemen für Dateien, zugeordnet zu Adressdatensätzen (Kunden), für papierloses Arbeiten (papierloses Büro), sowie für eine effektive Datensicherung
  • Erstellen von Warenverwaltungssystemen mit Angebot und Rechnungen, incl. der Verwaltung verschiedener Absender/Rechnungssteller
  • Textverarbeitung und Textsuche, u.a. mit Hilfe von Regex-Funktionalität, sowie programmgesteuerte Textdarstellung (Formatierungen wie farbiger Text, Fett/Normal, Absätze etc.) , sowie Konzepte für Textumformung
  • Entwicklung von Brief/Mail-Systemen innerhalb von Access, incl. der Verwaltung verschiedener Briefpapiere, zur Erzielung eines vereinfachten Systems für die tägliche Post und Serienbriefe – mit Bezug zur vorhandenen Adressdatenbank
  • Entwicklung automatischer Emailsysteme mit Anbindung an MS-Outlook oder andere Mailprogramme
  • Entwicklung einer Bemusterungs-DB-Anwendung für einen renommierten Bauträger mit Standorten in vielen deutschen Städten
  • Entwicklung von SEO/SEM-Tools zur übersichtlichen Ausführung wichtiger SEO-Arbeiten, unter anderem Eintraglisten für Publikationsplattformen, Permutationen von Keywordketten. Entwicklung eines Moduls für das Verarbeiten von Spintext-Syntax
  • Anbindung / Übertragung großer Datenmengen auf Sql-Server.
  • Erstellen eines effektiven Immobilienverwaltungs- und Angebotssystems für Immobilienmakler, incl. automatisierter Versendung von Exposes, Emails; Wiedervorlage für Akquisitionsanrufe.
  • Pflege der Personendatenbank mit Sendungs/Mustertextfunktion für eine Berliner Universität
  • Erstellen eines Seiten/Artikelverwaltungssystems für WordPress, zur Verwaltung und automatischer Steuerung und Weiterverwertung von Webinhalten.
  • Hochlade- und Registrierungssystem für Webbilder. Access-gesteuertes Zuschneiden und Mit-Text-Versehen (Wasserzeichen) von Digitalbildern mit Hilfe eines aus Access gesteuerten Java-Programmteiles.
  • Erstellen von Mitarbeiter-Datenbanken mit eingegrenzter Mitarbeiter-Funktionalität (User-Rechteverwaltung), Eingrenzung von Datenzugriffsrechten, formularbezogene Dropdownmenüs)
  • Anbindung an vorhandene Web-Applikationen durch programmierte Schnittstellen (APIs), z.B. nach dem SOAP oder REST Standard
  • Entwicklung eines dynamischen Formularsystems für statistische Datenerhebung mittels Fragebogen, inclusive der Berechnung und Darstellung des Ergebnisses

Datenbankentwurf, Anwendungsentwicklung .. wie ist das Szenario? 

Sie haben eine Datenbank, pflegen sie, und stecken auf diese Art und Weise viel Zeit hinein. Doch wie macht man das Beste aus den vorhandenen Daten? Viel Zeit und Geld wird erfahrungsgemäß vertan, wenn die Arbeit im Informationsbereich nicht richtig „programmiert“ ist – und das hat viel mit der Software zu tun, die man verwendet. Eine Datenbank speichert nicht einfach nur die anfallenden Daten, nein, beim Design einer Datenbank kommt es oft zu Lösungen, oder zu neuen Möglichkeiten, die die Arbeit beschleunigen und innovativ strukturieren.

Was ist die Fragestellung für Unternehmen?

  • Wie bekomme wir die Struktur unseres Unternehmens in eine Datenbank, die durch ihre Programmierung hilft, die wiederkehrenden Arbeiten effektiv zu lösen?
  • Benötigt wird z.B. eine Datenbank, die beispielsweise Angebote und Rechnungen erstellt und für die Kunden ein visuell attraktives und von den Daten her sachlich richtiges, Angebot fertigt …, deren Daten dann aber auch verwendet werden können für wiederholte Kundenkontakte, zum Abrechnen der Leistungen freier Mitarbeiter, dem Führen der Inventarlisten, oder ….
  • Benötigt wird eine Datenbank, die auf den Geschäftszweck minutiös zugeschnitten ist, die genau die gebrauchten Daten erhebt, und die diese Daten in effektivster Weise verarbeitet und darstellt …
  • Wie kann man durch eine Datenbank auf Dauer Zeit und damit Geld sparen, die Fehlerhäufigkeit reduzieren?
  • Wie kann man qualitativ hochwertige, vor allem gleichbleibende, jederzeit reproduzierbare Unterlagen erstellen?
  • Wie befruchtet eine Datenbank die Effektivität im Unternehmen, indem sie die wichtigsten Unternehmenskennzahlen vor Augen führt, die effektivsten Arbeitsschritte aufzeigt, die redundanten Zeitfresser eliminiert?
  • wie liest man große Datenmengen ein aus anderen Datenquellen ein, die aus historischen Gründen nun einmal zur Verfügung stehen?
  • Wie bekommt man die Daten ins Internet, oder von der Cloud auf den heimischen PC – wie verbindet man die Server-Datenbank mit der lokalen Datenbank?
  • Wie wertet man Texte aus?
  • Wie erhebt man statistische Daten?
  • Was ist der Vorteil einer Datenbank gegenüber Excel? 

Datenbanklösungen in Berlin

Beratung auch vor Ort im Großraum Berlin

Preise

günstige Preise, gemäß Vereinbarung auch Festpreise.

Kostenlose telefonische Beratung nach Vereinbarung. Gern auch Rückruf, wenn Sie uns eine Mail senden.

 

VBA Access Programmierung, Sql, Datentransfer, Anpassung

Datenbanken – Analyse,  Auswertungen, Berechnungen, Änderungen, Ergänzungen

Upload großer Datenmengen

Formate … xml, json, csv (Comma-separated)

WordPressanpassungen

Anpassungen oder Setup von SQL-Datenbanken, auch im Zusammenhang mit WordPress

Java-Script-Inserts in WordPress

Beratung und Setup von Twitter Bots

praktische Problemlösungen

Serienbriefe

„Reports“ (Berichte), z.b. als Rechnung oder als Lieferschein oder als wissenschaftliche/geschäftliche Dokumentation

Social Media

angepasste Software für Ihren Bedarf

  •  

 

Sharepoint und Access

Neben den diversen Möglichkeiten, Serverdatenbanken zu betreiben (MySQL, MS SQL, Oracle etc.) und dafür Code zu schreiben, Formulare zu entwickeln etc., hat Microsoft seit einigen Jahren „Sharepoint“ als umfassendes Konzept hervorgebracht. Sharepoint ist eine Entwicklungsumgebung für Web-Zusammenarbeit (vor allem in Betrieben), die nun schon auf einige Schritte der Weiterentwicklung und Verbesserung zurückblickt, und die in Konzept und Umsetzung als überaus innovativ und leistungsstark gilt.

Das Konzept ist, dass die Aktivitäten eines Betriebes, also dessen Personen und Gruppen, von vorn herein webbasiert betrieben und abgebildet werden. Dokumente werden auf Cloudservern abgelegt, Ablageorte werden Gruppen zugeordnet, so dass neue Dokumente oder neue Versionen von Dokumenten sofort einer ganzen Gruppe zur Verfügung stehen. So wird ein betrieblicher Workflow ermöglicht, der bereits im ersten Ausgangspunkt webbasiert ist. Da nun alle Dokumente und Tabellen webbasiert sind, und somit über Internetbrowser wie Edge oder Chrome oder Firefox erreichbar sind, ist es nur ein kleiner Schritt, Dokumente nicht nur einer Arbeitsgruppe eines Betriebes verfügbar zu machen, sondern sie öffentlich „zu stellen“. Denn der Dreh-und Angelpunkt aller betrieblichen Aktivitäten ist ja, zumindest auch, die Interaktion mit dem Kunden. In Sharepoint können Tabellen, und überhaupt Dokumente, sehr leicht auf die öffentliche Internetseite des Betriebes gestellt werden („im Web“ sind sie ja bereits), beispielsweise zur minutenaktuellen Information für alle Besucher der Website. Tabellen können auch als Eingabetabellen für Kunden bearbeitbar sein, und somit sofort strukturierte Daten zur Weiterverarbeitung zur Verfügung stellen.

Dokumente verschiedenster Anwendungen können zudem in Sharepoint durch ein makroartiges Werkzeug namens „Flow“ miteinander verbunden werden, und eventgesteuert Kaskaden anderer Programmabläufe auslösen. Z.B. kann ein „Event“ wie ein händischer Eintrag in eine Tabelle, durch „Flow“ weitere, nunmehr automatische, Events auslösen – beispielsweise das Senden einer vorstrukturierten Email, vielleicht eines Angebotes, etc..

Zum umfassend webbasierten Konzept gehört auch, dass die von Microsoft bestens bekannten Anwendungen wie Word, Excel, Powerpoint etc. nun Webanwendungen sind. D.h., man kann diese Anwendungen über den Browser betreiben. Neben vielen Vorteilen bedeutet dies zum Beispiel auch, dass mächtige Tools wie Word etc. nicht auf einem kleinen Webbook installiert werden müssen (was oft genug aus Hardwaregründen unmöglich ist), um ein Word-Dokument zu bearbeiten. Man muss auch nicht an USB-Speichersticks und Ähnliches denken, wenn man sicher sein will, die wichtigen Dokumente an jedem Ort zur Verfügung zu haben, gleich gemeinsam mit dem Tool für ihre Bearbeitung.

Die IDEs, also die Möglichkeiten diese Anwendungen mit den angepassten Versionen von Visual Basic (Visual Basic for Applications = VBA) zu programmieren, stehen online verständlicherweise nicht zur Verfügung. Warum „verständlicherweise“? Weil Microsoft auf den eigenen Servern keine beliebig gestrickte Software laufen lassen kann – dies wäre lokalen Anwendungen vorbehalten (wie eben Access). Dafür hat Microsoft proprietäre Hilfs-Tools wie „Flow“ entwickelt.

Access wurde in Sharepoint nicht als Webanwendung programmiert, sicherlich weil Microsoft als Serverdatenbank bereits MS-SQL bereithält und sich nicht selbst „kannibalisieren“ möchte. Außerdem ist die eigentliche Stärke der Access-Datenbank, eine Kombination aus Programmierumgebung (IDE) und „Out-Of-The-Box“ Datenbankanwendung zu sein – ohne die Programmierbarkeit mit VBA Access wäre das Programm mehr oder weniger das, was eine Sharepoint-Liste ja bereits ist, oder auch das, was ein Excel-Spreadsheet bereits ist. Und darüber, dass Microsoft auf den eigenen Servern keine Fremdsoftware laufen lassen kann/möchte haben wir bereits gesprochen.

Daher: Ohne die eigentliche Access-Stärke der Programmierbarkeit und gegen die bereits in Sharepoint vorhandenen Tabellen machte es wohl wenig Sinn, ein Online-Access bereitzustellen … es wäre ein zweites Excel. Zumal es wie gesagt die ausdrückliche Strategie von Microsoft ist, USER-Programm-Erweiterungen nicht auf den eigenen Servern laufen zu lassen, sondern Client-basiert, oder auf den eigenen Serverrechnern von Kunden.

Und, es gibt ja großartige Möglichkeiten, Access Frontends mit allen möglichen Webserverdatenbanken zu verbinden, aber besonders gute und stabile Möglichkeiten der Verbindung gibt es mit den „Sharepoint-Listen“ genannten Tabellen! Übrigens ist Sharepoint als Entwicklungsumgebung, wie der Name schon sagt, für das Teilen und Bearbeiten webbasierter Daten gedacht und ausgelegt, und so können innerhalb von Sharepoint auch Microsoft-fremde Datenbanken wie MySQL oder Oracle als Datenquellen in den Workflow eingebunden werden.

Die Möglichkeiten von Access-Anwendungen im Zusammenhang mit Sharepoint sind jedenfalls riesig, denn die Access Tabellen können wie gesagt mit Sharepoint-Tabellen verknüpft werden. Auf diese Art und Weise werden Anwendereingaben in eine Sharepoint-Liste einer Firmenwebseite zu Tabelleneinträgen einer Access-Anwendung lokal. Kommen neue Einträge hinzu (tragen sich neue Kunden auf der Website ein), können, beispielsweise durch zeitgesteuerte Skripts, lokale Access-Programmteile ausgelöst werden … wie zum Bericht erstellen, automatische Email senden, etc. etc.. Die Möglichkeiten der Access – Datenbank gehen dabei natürlich sofort über die Möglichkeiten des makroartigen „Flow“ hinaus. Auf diese Weise verliert das lokale Büro nie den Kontakt zur Interaktion mit den Internetvorgängen, es stehen aber alle Möglichkeiten des realen Büros zur Verfügung, und nicht nur die des virtuellen.

Erwähnt werden sollte, dass mit einiger Kenntnis von Sharepoint dieses durch zahlreiche Programmierbausteine erweiterbar ist, beispielsweise können, wie Windows üblich, C# – Programmteile eingebunden werden, Visual Basic, oder auch Javascript. Dies ist wie gesagt limitiert durch die eingeschränkte Serververfügbarkeit für Fremdcode … die einfachste und beste lokale Programmier-Lösung ist hier jeweils Access. Darüber hinaus gibt es noch einen „App-Markt“, der Zahlreiche Funktionserweiterungen, eben „Apps“ (fertige Teilanwendungen) bereit hält.

Sharepoint ist Teil des Office 365 Professional Paketes (um die 12 € im Monat).

Proprietäre Webanwendung, lokale Bearbeitung mit Access

Oft kommt es vor, dass Betriebe My-SQL Serverdatenbanken mieten, um damit beispielsweise ein Shop-System zu betreiben.

Solche Shopsysteme können heutzutage sehr günstig erstellt werden, beispielsweise mit kostenlosen CMS (Content Management System) wie WordPress und anderen.

Daher sind die dem System zugrunde liegenden Tabellen sozusagen „proprietär“, d.h., sie können auf dem Server direkt eingesehen werden, ihre Struktur liegt offen zutage, und alle Daten stehen vollständig, auch ggf. für Änderungen, zur Verfügung.

Wie immer benötigt der konkrete betriebliche Fall bestimmte Anpassungen, oder es sind Auswertungen nötig, die die kostenlose Software nicht beinhaltet. Oder es müssen Provisionen gezahlt werden in Abhängigkeit von den im CMS erfassten Verkäufen, oder es sollen Briefaktionen für die im CMS erfassten Kunden gemacht werden.

In diesem Fall ist es möglich, die in der Serverdatenbank vorhandenen Daten direkt als als lokale Tabelle in der Access-Anwendung zur Verfügung zu stellen, und zwar über in Access vorhandene „ODBC-Treiber“, die die „fremde“ Datenbanksprache in die lokale
Datenbanksprache übersetzen – und somit eine Schnittstelle darstellen.

Auf diese Art und Weise können lokal Tabellen bearbeitet werden, ausgewertet werden, genutzt werden.

In dieser Variante der Webanbindung ist es aber wichtig, die Struktur der Webanwendung zu kennen, sie zu beachten, und diese Struktur nicht zu verändern, denn die Logik der Tabellen zueinander sind das Fundament des Funktionierens des CMS. Eine Kenntnis / Analyse der CMS-Logik ist daher oft erforderlich, um wirksam lokal Daten in das System einzugeben, die dann online auch abrufbar sind.

Nicht-proprietäre Internetanwendung, Auswertung lokal mit Access

Ein häufig anzutreffendes Szenario ist eine Internet-Anwendung, die für einen bestimmten Zweck programmiert, und von einer Firma gemietet/gekauft wird, und lokal ausgewertet werden soll – und zwar mit Access.

Da die der Web-Anwendung zugrunde liegende Datenbank zwar durch die mietende Firma gepflegt wird, aber nicht im „Besitz“ dieser Firma ist, ist meist eine API (öffentliche Programmierschnittstelle) nötig, über die strukturierte Daten aus dieser Datenbank abgerufen werden können, bzw. auch Daten in die Datenbank eingepflegt werden können.

Im Bild ist die API-Schnittstelle als Schlüsselloch dargestellt, denn eine API verfügt nur über die vom Herausgeber eingestellten, begrenzten, Möglichkeiten der Datenmanipulation. Einsicht in die Tabellenstruktur, Ansicht aller Daten, ist nicht möglich. Eingriffe in die Tabellenstruktur, Hinzufügen oder Entfernen von Tabellen etc., sind nicht möglich.

Die Qualität einer API hängt zudem sehr von ihrer Dokumentation ab.

Die für die lokale Access-Anwendung notwendigen Daten können über Requests (Anfragen) an den Server Augenblicks-aktuell geladen werden – oft viele hundert Datensätze.

Sinnvoll ist das dadurch, dass die Arbeit mit der Internet-Anwendung ungestört weiterlaufen kann, und man die Vorteile des Systems nutzt. Daten werden einmal in das System eingegeben, nicht mehrmals und somit nicht redundant. Andererseits sind solche Kaufsysteme natürlich nicht perfekt für einen konkreten Anwendungs-Fall programmiert, und viele Besonderheiten des konkreten Betriebes wären wünschenswert umzusetzen, müssten aber hinzuprogrammiert werden. Das jedoch ist in der Regel für den Hersteller der Webanwendung nicht machbar, bzw. ist für den Anwender nicht bezahlbar.

Hier ist es geraten mit einer leicht gestaltbaren Access-Variante zu agieren. Die Verbindung der flexiblen, lokalen Access-Anwendung mit der „systemfremden“ Internetanwendung (die auf verschiedensten Software-Systemen basieren kann), wird über http-Requests hergestellt.

IOT – Internet der Dinge

Das Internet der Dinge – was ist das?

IOT, das heißt „Internet Of Things“, also Internet der Dinge. Was ist das eigentlich?

Zunehmend wird unser Alltag bestimmt von vielen kleinen technischen Geräten, die oft auf der Basis integrierter Schaltkreise entwickelt werden (also kleinen Computern ähnlich sind). Beispielsweise können Fenster-Rollläden heute elektrisch, mit einem kleinen Motor, aufgezogen oder geschlossen werden. Da das Aufziehen und das Schließen regelmäßige tägliche Vorgänge sind, werden diese Klein-Motoren zunehmend nicht mehr von Hand an- und abgeschaltet, sondern von kleinen Prozessoren gesteuert, die dann selbständig morgens vielleicht um 7.00 Uhr die Läden aufziehen, und sie abends um 20.00 Uhr wieder schließen.

Der eigentlich logische nächste Schritt ist, dass diese Prozessoren internetfähig gemacht werden, also beispielsweise in das oft ohnehin vorhandene W-Lan-Netz (WiFi) eingebunden werden. Auf diese Weise können diese Prozessoren von überall her wo Internetzugang besteht, abgefragt und gesteuert werden.

Dass man nun von Hawaii aus die Fensterläden eines Hauses in Deutschland schließen kann, sofern man vergessen hat, dies vor der Abreise in den Urlaub zu tun, ist eine Sache. Noch offensichtlicher aber ist der Vorteil, dass man alle möglichen kleinen und nützlichen Geräte eines Hauses über eine zentrale Software steuern kann. Der Nutzen entfaltet sich sozusagen bereits, wenn man im Wohnzimmer sitzt, und von dort aus die vielleicht 15 Fenster eines Hauses ganz schnell überprüfen bzw. steuern kann.

Das also nun ist das Internet der Dinge: Dinge (Geräte), die mit einfachen Mitteln an das Internet angeschlossen sind, und über das Internet überwacht / gesteuert / programmiert werden können.

Dass hierfür die Netzadressen der „Dinge des Internet“ dramatisch ausgeweitet werden müssen, weil nicht mehr nur jeder Mensch, bzw. dessen Computer, eine eigene Internetadresse (IP) haben kann, sondern jedes Ding, das versteht sich von selbst. Das ist aber eigentlich ein kleineres administratives Problem. Letztlich ist die Anzahl der „Dinge des Internet“ weiterhin sehr endlich. Und ob es nun eine 12-stellige IP gibt, oder eine vielleicht 24-stellige, das ist den Maschinen egal, ebenso wie den Menschen.

Der Nutzen des IOT jedoch entfaltet sich nicht nur für den Normalbürger in dessen Haus, sondern ist als gesellschaftlicher Produktivfaktor überhaupt nicht zu überschätzen, man denke an die Überwachung von Geräten im Einzelhandel (Kassen), im Sicherheitsbereich (Überwachungskameras), in Fabriken (Produktionsroboter), im militärischen Bereich …

Entscheidend für den Erfolg des Internets der Dinge ist letztlich die Einfachheit der Handhabung für den User und der Preis … wie viel kostet es etwa, ein Fenster eines Hauses IOT-fähig zu machen?

Dass das Internet der Dinge kommt, ist aber ganz sicher – die Vorteile sind gar zu offensichtlich.

Ein Beispiel

zur Veranschaulichung ein kleines Beispiel.

Temperatur – und Luftfeuchtesensor. Das Internet der Dinge … das sind kleine Boards wie dieses ….

Der obige kleine Sensor misst Temperatur und Luftfeuchtigkeit in einem Raum. Er kostet nur wenige Euro und ist an das W-Lan anschließbar, er hat also Internetverbindung. Er verbraucht wenig Strom, denn der Sensor verfügt über eine „Schlaffunktion“ – er „wacht“ also immer auf, wenn er benötigt wird; in der übrigen Zeit hingegen „schläft“ er, und verbraucht dann nur sehr wenig Strom im Mikroampere-Bereich, bei einer Betriebsspannung von 5 V. Auf diese Weise ist der Sensor gut mit einer billigen Batterie ein Jahr lang zu betreiben – er benötigt etwa keinen 250 V Stromanschluss mit aufwändigem Netzteil.

Dieser Sensor ist so programmiert, dass er jede halbe Stunde eine Messung vornimmt, und die Ergebnisse in eine Remote-Datenbank (remote = entfernt) einträgt, also eine Datenbank, die auf einem (gemieteten) Server läuft, welcher ständig in Betrieb ist.

Ein solcher Server ist in diesem Fall jener, auf der die Webseite läuft, die Sie gerade lesen. Die Datenbank, auf die die Webseite zugreift, ist eine MySQL-Datenbank. In diese Datenbank wurde eine Tabelle aufgenommen, in die die Messdaten des Temperatur-und-Feuchte-Sensors eingetragen werden; immer dann, wenn dessen Sendesignal eintrifft. Die Datenbank ergänzt selbst die Spalte „Zeit“ mit der Systemzeit des Servers, während in die Spalte „Eintrag1“ die gesendeten Daten des Sensors aufgenommen werden.

MySQL-Datenbank mit eine extra Tabelle für die Messergebnissse des Sensors.
Das Internet der Dinge … das ist Software, die die Hardware ausliest, steuert ….

Die lokale MS-Access-Anwendung ist wiederum mit diesem Server verbunden, und zwar über einen Internettreiber, der die MySQL-Datenbank mit MS-Access kompatibel macht. Das macht es bequem, die Server-Daten direkt am Arbeitsplatz zu sichten, zu filtern, zu manipulieren, ohne sich in den spartanischen Internetaccount einzuloggen – Access ist eben ein überaus praktisches und letztlich mächtiges Tool.

Eine MySQL-Tabelle, die als verbundene Tabelle in MS-Access sichtbar und bearbeitbar ist.
Das Internet der Dinge … das ist Vernetzung

Hier lassen sich Sensor-Daten, die in die Tabelle geschrieben wurden, sehr einfach auswerten, umformen, in andere Tabellen schreiben, etc.. So wie oben gezeigt.

Weil die Daten des Sensors im XML-Format gesendet wurden und in eine nicht weiter spezifiziertes Feld (namens „Eintrag1“) eingetragen wurde, kann die Tabelle Einträge verschiedenster Sensoren aufnehmen – das macht das Setup für die Sensoren einfacher. Unterscheidbar sind die Sensoren durch den Tag „<Device>“ (Gerät).

Daten zu erheben und zu speichern, jederzeit darauf zugreifen zu können, sie zeitaktuell kontrollieren zu können, ist die Voraussetzung dafür, proaktive Maßnahmen zu ergreifen, Geräte zu steuern, Überwachungsdaten auszuwerten, etc. – also ein Baustein des Internets der Dinge.

Datenbanken für Rechnung, Fakturierung, Warenwirtschaft

Sehr oft werden Datenbanken für die Fakturierung verwendet, also um Rechnungen zu schreiben, zu versenden und ggf. auch Mahnungen zu erstellen.

Wie bereits öfters erwähnt, steht die Erfassung und Verwaltung von Rechnungen in engen Zusammenhang mit anderen Bereichen …

Klar ist: Die Erfassung von Adressen als Rechnungs-Empfänger gehört dazu. Aber ggf. auch: ein Warenwirtschaftssystem, welches die Artikel enthält, die man anbietet und die gekauft werden … und welche dann natürlich auch in die Rechnung eingetragen werden; eine Verkaufswebsite; eine System für das Versenden von Briefen (denn eine Rechnung ist ja gewissermaßen auch ein Brief); möglicherweise ein Lagerhaltungssystem u.v.m..

Der Vorteil des Erstellens von Rechnungen mit Hilfe einer Datenbank leuchtet unmittelbar ein:

  • die Wiedervorlage von nicht bezahlten Rechnungen ist sehr einfach
  • Rechenfehler sind ausgeschlossen
  • alle Daten befinden sich in der Datenbank – das Druckenlassen von Geschäftsbögen für Rechnungen, die, sobald sich eine Telefonnummer ändert, veraltet sind, entfällt. Die Rechnungsbögen sind stets „up to date“.
  • die Rechnungen sind in beliebigem Umfang individualisierbar, sowohl in Hinsicht auf den Betrieb, wie auch auf den Kunden
  • es stehen sofort umfangreiche Auswertungsmöglichkeiten zur Verfügung – welches Produkt erzielt den höchsten Umsatz, welches Produkt erzielt den höchsten Gewinn, welches Produkt verkauft sich meist im Zusammenhang mit einem anderen Produkt, u.v.m..
  • mit Hilfe von Textbausteinen werden Schreibfehler eliminiert

Warum sollte man aber in Access „neu abbilden“, was vielleicht andere Anwendungen ohnehin bieten?

Die Antwort ist die infinitesimale Gestaltbarkeit der Access-Berichte oder den beliebigen Anschluss weiterer Programmteile, ganz nach Erfordernis des jeweiligen Betriebes; so z.B. Druckfunktionen im Netzwerk, Ablagefunktionen (papierloses Büro), Auswertungen wissenschaftlicher oder wirtschaftlicher Art, Versendeautomatismen, etc. etc.. Dies ist mit einer vorgefertigten Software nie gegeben – mit Access lässt es sich leicht umsetzen.

Datenbank für Personal, Mitarbeiter, Adressen, Kunden

Eine sehr häufige Anwendung ist das Erfassen von Adressen, beispielsweise für das Betriebs-Personal, oder als Kundenadressen. Meist gruppieren sich um das Erfassen von Adressdaten noch eine ganze Reihe anderer Funktionen, die mit dem Geschäftszweck in Verbindung stehen – wie etwa das Erfassen und Versenden von Briefen respektive Emails, das Erstellen und Versenden von Rechnungen (hiermit im Zusammenhang steht beispielsweise das Mahnwesen), oder aber das Speichern adressrelevanter Unterlagen im papierlosen Büro.

Die Nützlichkeit der Datenbank ergibt sich nicht nur aus der Möglichkeit der effizienten Erstellung von Unterlagen, zum Beispiel von Briefen. Hier kann ja, das ist sofort offensichtlich, ein erstellter Brieftext mit einer bereits hinterlegten Adresse verbunden werden, es können programmierte Satzbausteine erstellt werden, wie beispielsweise „Sehr geehrter Herr Müller,“ oder „Sehr geehrte Frau Müller,“ (anstelle des früher üblichen
„Sehr geehrte(r) Kund(e/in),“), sondern es ergeben sich viele weitere Möglichkeiten, an die man vielleicht zuerst gar nicht dachte.

Beispielsweise können nun bereits geschriebene Briefe wie Textbausteine oder Mustertexte für andere Kunden verwendet werden, oder aber man überprüft sehr leicht, welche Kunden zuletzt einen Brief erhielten, oder welchen Inhalt der letzte Brief hatte (der textliche Inhalt liegt ja auf Knopfdruck vor). Briefe, die verloren gingen, können sofort nochmals gesendet werden; Briefe können sofort in Form einer email mit PDF-Anhang versendet werden, etc..

Nun können automatiesierte Briefaktionen stattfinden, es kann ausgewertet werden, welche Bestellhäufigkeit es nach Briefaktionen gibt, u.v.m..

Auf diese Art und Weise helfen Datenbanken dabei, Geschäftsabläufe
durchschaubarer zu machen – nun ist es leicht möglich, sich auf das gewinnbringende Geschäft zu konzentrieren, es auszubauen und auf nahe liegende Geschäftsfelder auszuweiten, während man weniger attraktive Geschäftszweige gewissermaßen „veröden“ lässt.

Referenzen

  • Referenzen (Auszug)

    • Erstellen eines Verwaltungssystems für Buchtitel und Ausgaben für einen Verlag
    • Erstellen von Ablagesystemen für Dateien, zugeordnet zu Adressdatensätzen (Kunden), für papierloses Arbeiten (papierloses Büro), sowie für eine effektive Datensicherung
    • Erstellen von Warenverwaltungssystemen mit Angebot und Rechnungen, incl. der Verwaltung verschiedener Absender/Rechnungssteller
    • Textverarbeitung und Textsuche, u.a. mit Hilfe von Regex-Funktionalität, sowie programmgesteuerte Textdarstellung (Formatierungen wie farbiger Text, Fett/Normal, Absätze etc.) , sowie Konzepte für Textumformung
    • Entwicklung von Brief/Mail-Systemen innerhalb von Access, incl. der Verwaltung verschiedener Briefpapiere, zur Erzielung eines vereinfachten Systems für die tägliche Post und Serienbriefe – mit Bezug zur vorhandenen Adressdatenbank
    • Entwicklung automatischer Emailsysteme mit Anbindung an MS-Outlook oder andere Mailprogramme
    • Entwicklung einer Bemusterungs-DB-Anwendung für einen renommierten Bauträger mit Standorten in vielen deutschen Städten
    • Entwicklung von SEO/SEM-Tools zur übersichtlichen Ausführung wichtiger SEO-Arbeiten, unter anderem Eintraglisten für Publikationsplattformen, Permutationen von Keywordketten. Entwicklung eines Moduls für das Verarbeiten von Spintext-Syntax
    • Anbindung / Übertragung großer Datenmengen auf Sql-Server.
    • Erstellen eines effektiven Immobilienverwaltungs- und Angebotssystems für Immobilienmakler, incl. automatisierter Versendung von Exposes, Emails; Wiedervorlage für Akquisitionsanrufe.
    • Pflege der Personendatenbank mit Sendungs/Mustertextfunktion für eine Berliner Universität
    • Erstellen eines Seiten/Artikelverwaltungssystems für WordPress, zur Verwaltung und automatischer Steuerung und Weiterverwertung von Webinhalten.
    • Hochlade- und Registrierungssystem für Webbilder. Access-gesteuertes Zuschneiden und Mit-Text-Versehen (Wasserzeichen) von Digitalbildern mit Hilfe eines aus Access gesteuerten Java-Programmteiles.
    • Erstellen von Mitarbeiter-Datenbanken mit eingegrenzter Mitarbeiter-Funktionalität (User-Rechteverwaltung), Eingrenzung von Datenzugriffsrechten, formularbezogene Dropdownmenüs)
    • Anbindung an vorhandene Web-Applikationen durch programmierte Schnittstellen (APIs), z.B. nach dem SOAP oder REST Standard
    • Entwicklung eines dynamischen Formularsystems für statistische Datenerhebung mittels Fragebogen, inclusive der Berechnung und Darstellung des Ergebnisses

Wie wichtig sind Datenbanken?

Datenbanken umgeben uns, Datenbanken stecken hinter allem, was wir in der Gegenwart sehen, und was irgendwie mit Computern und oder Internet zu tun hat.

Man stelle sich beispielsweise Facebook als eine riesige Datenbank vor, die Namen, Bilder und Redebeiträge speichert und mit Hilfe von Algorithmen miteinander verknüpft. Die „Algorithmen“ sind dabei das Gerüst, die Interaktion des Users hingegen sozusagen das Benzin, das die wechselnden Kontakte und Redebeiträge in den Fokus des Nutzers schiebt.

Oder man stelle sich Amazon als riesige Datenbank vor, die neben den Produkten, deren Preisen und Bildern, auch dynamisch die Interaktion der User speichert, deren Kaufverhalten und Bewertungen nutzt, um selbst als Produkt attraktiver zu werden.

Datenbanken sind sozusagen das Gedächtnis einer immer intelligenter werdenden Computerwelt. Man überlege, wie wichtig das Gedächtnis für das eigene Denken ist, und man wird verstehen, dass es nicht den kleinsten Gedanken geben kann, ohne ein Gedächtnis. Denn jede Vorstellung, jeder Gedanke, ist immer auch der Bezug auf etwas Bekanntes – auf eine „gespeicherte“ Information.

Datenbanken sind im Computerzeitalter zu einer unabdingbaren Selbstverständlichkeit geworden. Sie sind ein vereinfachtes Abbild der Realität, künstlich geschaffen, um einige Aspekte einer unendlichen Komplexität wiederzugeben.

Komplexität

Im Umgang mit Datenbanken lernen und verstehen wir manches über uns selbst. So, wie wir mit Hilfe sozialer Netzwerke wie z.B. Facebook einiges über die menschliche Kommunikation lernen und erfahren können.

Wir verstehen zum Beispiel, wie einfach erscheinende Sachverhalte aus einer Vielzahl von Beziehungen entstehen, und wie schwierig es manchmal erscheint, das, was man im täglichen Leben ganz normal zu tun gewohnt ist, in die eindeutige Sprache des Computers zu übersetzen.

Eine Datenbank in der einfachsten Form ist eine Tabelle. Als relationale Datenbank muss man sich aber eigentlich eine Tabellensammlung denken, deren einzelne Tabellen über eindeutig zuordenbare Identifikationszeichen miteinander verbunden sind. So, wie wir zu den Personen die wir kennen gleichzeitig deren Namen erinnern („abspeichern“), wodurch uns Kommunikation überhaupt erst möglich wird.

Allgegenwart

So, wie die heute wertvollsten und wichtigsten Firmen wie Google, Facebook, SAP, Amazon und viele mehr, ohne Datenbanken nicht vorstellbar sind, sind generell alle Leistungen der modernen Service-Gesellschaft kaum denkbar ohne den Einsatz von Datenbanken.

Beispielsweise wird ein Essen in einem Restaurant begleitet von Eingaben in eine Datenbank, d.h., es wird gespeichert, wer was an welchem Tisch bestellt. Die Küche arbeitet anhand dieser vom Service gelieferten Daten, und die Rechnung wird schließlich anhand dieser Daten erstellt. Diese Daten liefern aber auch Informationen über die nötigen Nachbestellungen an Lebensmitteln, Daten für die Steuerabrechnung des Betriebes, Daten über den Erfolg bestimmter Gerichte, Daten über den Fleiß von Kellnern u.v.m..

Oder man stelle sich einen Hausbau vor – hier wird der Architektenentwurf mit Hilfe von Software gemacht, die aus den Eingaben in eine Datenbank (das Zeichnen der Entwurfsplanung am Computer) in Sekundenschnelle eine Massen- und Mengenberechnung erstellt, so dass man zu jedem Zeitpunkt weiß, wie viel Beton in die Wände eingeht, wie viele Fenster und Türen vorhanden sind, wie groß die Dachfläche ist, etc.. Und, weil in der Datenbank auch Preise für Material und Gewerke hinterlegt sind, kann in Sekundenschnelle eine Kostenschätzung abgegeben werden. Für den eigentlichen Bau ist nunmehr die Ablaufplanung und Bestellplanung wichtig, die wiederum mit Hilfe der Datenbank erzeugt wird. Jede Anfrage bei einem Gewerk, beispielsweise den Dachdeckern oder Klempnern, erfordert eine Ausgabe (Kostenanfrage), der die Daten aus der Datenbank zugrunde liegen. Je detailgenauer die Datenbank programmiert ist, desto größer der Nutzen, desto größer die Zeitersparnis und damit Ersparnis menschlicher Arbeitskraft.  Desto geringer mithin übrigens auch die ansonsten kaum vermeidbaren Irrtümer und Fehler. Denn die menschliche Erfahrung fließt in das Datenbankdesign ein, ein nunmehr festes Gerüst aus Beziehungen und Berechnungsmethoden, auf das unendlich oft zurückgegriffen werden kann.

Oder man stelle sich den Einkauf bei einem Diskounter wie eine Datenbank vor, die im Hintergrund stets „mitrattert“, wenn ein Produkt über den Scanner gezogen wird, wenn die Überwachungskameras in Betrieb sind, wenn der Kunde bezahlt (die Kasse als Datenbank). Das Bestellsystem des Discounters bei den eigenen Lieferanten besteht aus hochkomplexen Datenbanken – hier liegt das wertvolle Software-Know-How, ohne das heute kein moderner Betrieb auskommt.

 

AGB

Die JHGI UG (haftungsbeschränkt), im Folgenden kurz „JHGI“, ist Auftragnehmer. Der Auftraggeber wird im Folgenden „AG“ genannt. Für alle mit JHGI geschlossenen Verträge gelten die nachfolgenden Allgemeinen Geschäftsbedingungen („AGB“). Insofern die AGB des Auftraggebers den vorliegenden AGB zuwiderlaufen, wird hiermit widersprochen, es sei denn es ist eine einvernehmliche Regelung getroffen.

Leistungsvertrag

Art und Umfang der auszuführenden Leistungen sowie die Vergütung für JHGI werden durch den Vertrag bzw. das Angebot bestimmt. Ein Vertrag kommt mit der Unterzeichnung der Auftragsbestätigung durch den AG zustande. Nur die zum Vertrag gehörenden Unterlagen sind Vertragsgegenstand, nicht jedoch Skizzen, Mitschriften oder ähnliches, soweit sie nicht ausdrücklich als Vertragsgegenstand bezeichnet sind.

JHGI ist berechtigt, Leistungen zum Zwecke der Vertragsdurchführung ganz oder teilweise durch Dritte erbringen zu lassen.

Änderungen und Ergänzungen des Inhalts oder des Umfangs der von JHGI geschuldeten Leistungen können von jeder Partei vorgeschlagen werden. Die jeweils andere Partei soll den Vorschlag innerhalb von 14 Werktagen nach Erhalt annehmen oder ablehnen.

Mitwirkungspflichten des AGs

Der AG ist verpflichtet, JHGI auch ohne deren besondere Aufforderung bei der Vertragsdurchführung zu unterstützen, alle für die Erfüllung der Leistungen wichtigen Informationen und Unterlagen, bzw. Daten, kostenfrei zu bereitzustellen und zu allen Vorgängen und Umständen zu informieren, die für die Ausführung wichtig sind.

Stehen JHGI die erforderlichen Informationen oder Daten oder Zugänge durch Versäumnis des AG nicht zur Verfügung, ist die Leistungspflicht von JHGI für diese Zeit unterbrochen.

Bezahlung

Im Falle eines Zahlungsverzuges ist JHGI vorbehaltlich eines weiteren tatsächlichen Verzugsschadens berechtigt, Zinsen in Höhe von 8 % über dem jeweiligen Basiszinssatz zu berechnen.

JHGI ist berechtigt Vorschüsse und/oder Abschlagszahlungen für Projektfortschritte zu verlangen. Die Höhe dieser Beträge ergibt sich aus dem Angebot und dem Zeit- und Ablaufplan – Abschläge oder Lizenzkosten werden sofort fällig und können bei Nichtbezahlung die vertragliche Weiterarbeit unterbrechen.

Termine und Übergabe des Vertragswerkes

Sämtliche Termine und Fristen für Lieferungen und Leistungen von JHGI sind dann verbindlich, wenn sie von JHGI schriftlich als verbindlich bezeichnet worden sind.

JHGI wird dem AG den Vertragsgegenstand in maschinenlesbarer Form nach dessen Wahl entweder auf einem zu dem Zeitpunkt üblichen Datenträger oder per Datenfernübertragung überlassen. JHGI ist grundsätzlich nicht verpflichtet, den Source- und Quellcode des Programms sowie eine Dokumentation der Programmentwicklung und -anwendung zu liefern, sofern keine anderslautende einzelvertragliche Regelung mit dem AG getroffen wurde.

Sämtliche Leistungen verbleiben bis zur Erfüllung der Forderungen im Eigentum (Vorbehaltsware) von JHGI.

Soweit im Einzelfall nicht anders vereinbart, wird der Vertragsgegenstand vom AG selbst installiert. Die Übergabe des Vertragsgegenstandes erfolgt durch förmliche Abnahme der von JHGI erbrachten Lieferungen und Leistungen. Zu diesem Zweck wird die Abnahme schriftlich (auch per E-Mail) protokolliert. Hierbei werden etwaige Mängel erfasst und schriftlich festgehalten. Wegen unwesentlicher Mängel darf die Abnahme oder Teilabnahme nicht verweigert werden.

Die Abnahme gilt automatisch als erfolgt, wenn der AG nicht innerhalb von 7 Werktagen nachdem er den Empfang der Mitteilung zur Abnahmebereitschaft bestätigt hat, die Gründe für die Verweigerung der Abnahme schriftlich oder per E- Mail/Fax spezifiziert.

Die Mängelhaftung bezieht sich nicht auf Schäden, die infolge fehlerhafter oder nachlässiger Behandlung, unterlassener Wartung, ungeeigneter Betriebsmittel, mangelhafter Eigenleistungen des AGs, auf die JHGI keinen Einfluss hat und die nach dem Vertrag nicht vorausgesetzt werden konnten.

Die Verjährungsfrist für Mängelansprüche beträgt 6 Monate. Die Verjährung beginnt mit Lieferung des ersten Produktes der vertraglich festgelegten Leistung oder beim Kauf von Standardsoftware mit dem Gefahrübergang der Kaufsache.

Rechte an der Software

An Angeboten, Entwürfen, Zeichnungen, Programmen, Hilfsprogrammen, die keinen eigenen Lizenzbedingungen unterliegen sowie an anderen Unterlagen und Materialien behält sich JHGI das Eigentums- und Urheberrecht vor. Dritten dürfen diese nur im Einvernehmen mit JHGI zugänglich gemacht werden.

Wenn nicht anders vereinbart erhält der AG eine zeitlich nicht beschränkte, nicht exklusive und nicht örtlich gebundene Nutzungslizenz an im Rahmen des Vertrages erstellter Software.

Soweit der AG Software einsetzt oder JHGI zur Vertragserfüllung Software des AG einsetzen soll, versichert der AG, dass er über die erforderliche Lizenz verfügt. Der AG stellt JHGI von allen Ansprüchen Dritter insoweit frei.

JHGI kann selbsterstellten Programmcode gegen Kopieren oder Eingriffe schützen, beispielsweise durch Passwörter, Verschlüsselungen; das gilt insbesondere für das Neuerstellen von Anwendungen, nicht für die Datenbankpflege bestehender Installationen.

Haftungsausschluss JHGI

JHGI haftet für den Verlust von Daten nur bis zu dem Betrag, der bei ordnungsgemäßer und regelmäßiger Sicherung der Daten zu deren Wiederherstellung angefallen wäre. Eine weitere Haftung der JHGI ist dem Grunde nach ausgeschlossen, soweit nicht wegen Vorsatzes zwingend gehaftet wird. Insbesondere haftet JHGI nicht für mangelnden wirtschaftlichen Erfolg, entgangenen Gewinn, mittelbare Schäden, Mangelfolgeschäden.

Datensicherung, Geheimhaltung, Datenschutz und Rückgabepflicht

Der AG wird dafür sorgen, dass eine Datensicherung, regelmäßige Prüfung und vollständige der Daten vorgenommen wird. JHGI wird darauf achten für die eigene Tätigkeit lediglich Kopien der Kundendaten zu verwenden, um die Datensicherheit der Grunddaten des AG, für die zu sorgen allein diesem obliegt, nicht zu gefährden.

JHGI und der AG vereinbaren, während der Laufzeit des Vertrages das Know How des Vertragspartners, sämtliche Geschäfts- und Betriebsgeheimnisse, ausgehändigtes Material sowie sämtliche sonstigen Informationen, einschließlich der Informationen zu Geschäftspartnern der anderen Partei und potentiellen Geschäftspartnern, streng vertraulich zu behandeln und nicht an Dritte weiterzugeben. Dies gilt auch für den Inhalt des Vertrages.

Gleichfalls besteht diese Verpflichtung auch nach Vertragsende unbefristet fort. Die Parteien werden auch ihre Mitarbeiter, angeschlossenen Partner sowie sonstige Subunternehmer, verbundene Unternehmen und Rechtsnachfolger hierauf verpflichten.

JHGI ist berechtigt, von den vom AG überlassenen Dateien und Unterlagen Arbeitskopien zu erstellen. Sämtliche JHGI überlassenen Akten, Unterlagen und sonstigen Gegenstände, gleich welcher Art, sind bei Beendigung des Vertragsverhältnisses an den AG herauszugeben. Ein Zurückbehaltungsrecht – aus welchem Grund auch immer – ist ausgeschlossen.

Sofern in die Leistungserbringung Unterauftragnehmer eingebunden werden, die Zugang zum System des AG erhalten müssen, wird eine Datenschutzvereinbarung mit diesem Leistungserbringer im Innenverhältnis schließen. Vorzuziehen sind jedoch Dummy-Daten, Dummy-Accounts etc., die an Stelle schützenswerter Daten als Testumgebung für die Leistungserfüllung geeignet sind. JHGI weist ausdrücklich darauf hin, dass Passwörter, Zugangsdaten etc., als ganz selbstverständliche Datenschutzgepflogenheit nach Beendigung der Arbeiten zu ändern sind.

Schlussbestimmungen

Änderungen und Ergänzungen dieses Vertrages, einschließlich der Änderung dieser Schriftformklausel selbst, bedürfen zu ihrer Rechtswirksamkeit der Schriftform. Mündliche Nebenabreden bestehen nicht.

Die Rechte aus diesem Vertrag sind nicht auf Dritte übertragbar. Die Vertragsvereinbarung wird durch die Unterschrift beider Parteien angenommen.

Eine Kündigung aus wichtigem Grund ist beiden Seiten möglich. Im Falle einer Kündigung durch den AG gilt grundsätzlich die gesetzliche Regelung des § 649 BGB.

Sollten einzelne Bestimmungen dieses Vertrages unwirksam oder undurchführbar sein oder nach Vertragsschluss unwirksam oder undurchführbar werden, bleibt davon die Wirksamkeit des Vertrages im Übrigen unberührt. An die Stelle der unwirksamen oder undurchführbaren Bestimmung soll diejenige wirksame und durchführbare Regelung treten, deren Wirkungen der wirtschaftlichen Zielsetzung am nächsten kommen, die die Vertragsparteien mit der unwirksamen bzw. undurchführbaren Bestimmung verfolgt haben. Die vorstehenden Bestimmungen gelten entsprechend für den Fall, dass sich der Vertrag als lückenhaft erweist.

Gerichtsstand für alle Streitigkeiten aus und im Zusammenhang mit diesem Vertrag ist Berlin. Die Währung ist Euro.