Webcam-Bilder in Datenbank speichern

Die Bilder einer Webcam kann man üblicherweise auf dem Rechner speichern, auf dem man diese erstellt hat. Gegebenenfalls geschieht das auch automatisch – so zum Beispiel mit der Kamera-App von Windows. Ein Leser fragte, ob sich das Aufnehmen von Bildern auch so steuern lässt, dass man die neuen Fotos direkt in einer Datenbank weiterverwenden kann – durch Speichern des Bildes oder des Speicherpfades in der Datenbank und das anschließende Anzeigen des Bildes direkt in einem Formular der Datenbank. Eine direkte Steuerung via VBA haben wir nicht realisiert, aber einen Workaround, der diese Aufgabe ebenso gut erfüllt.

Weiterlesen

Daten-Updates ausliefern

Wenn Sie eine Anwendung bereitstellen wollen, die bereits Daten enthält und deren Daten sowohl von Ihnen als auch vom Benutzer der Anwendung erweitert werden sollen, müssen Sie einige Dinge beachten. Wir gehen zur Vereinfachung davon aus, dass nur neue Daten hinzukommen und keine vorhandenen Daten geändert werden – das würde die Aufgabe noch schwieriger gestalten. Als Beispiel soll eine Datenbank mit Produkten dienen, die sowohl aus einem Basiskatalog gefüttert werden, der gelegentlich erweitert wird, als auch vom Benutzer der Anwendung. Wie Sie das überhaupt machen, welche Probleme das mit sich bringt und wie Sie diese lösen, zeigen wir in diesem Beitrag.

Weiterlesen

XRechnung, Teil 1: Rechnungen generieren

XRechnung ist ein Standard für das Einreichen von Rechnungen bei öffentlichen Aufträgen. Sinn und Zweck dieses Standards ist, das Übermitteln von Rechnungsdaten auf eine Weise zu erlauben, dass diese automatisiert eingelesen und verarbeitet werden können. Wie das X in XRechnung vermuten lässt, steckt dahinter ein Austausch der Daten im XML-Format. Die Vorlage für XRechnung liefert die europäische Norm EN 16931. Wie die Daten strukturiert werden müssen, haben wir dem Dokument “Spezifikation XRechnung Standard und Extension” entnommen, das öffentlich einsehbar ist. Als Grundlage für die Zusammenstellung der XRechnung verwenden wir ein herkömmliches Datenmodell einer Bestell- oder Rechnungsverwaltung. In diesem ersten Teil zeigen wir, wie die Daten aus den Tabellen der Beispieldatenbank in ein XRechnung-kompatibles XML-Dokument umgewandelt werden und wie Sie dieses validieren können.

Weiterlesen

VBA-Projekte vergleichen

Bevor man umfangreichere Änderungen an bestehenden Anwendungen vornimmt, sollte man zumindest eine Sicherungskopie der Datenbankdatei machen. Außen vor sind hier Entwickler, die den Code ihrer Anwendungen mit einer Quellcodeverwaltung tracken – hier kann man den Verlauf der Änderungen leicht nachvollziehen. Wer aber den Aufwand nicht betreiben will, kann auch mit einfacheren Mitteln prüfen, welche Änderungen seit dem letzten Speichern durchgeführt wurden – und zwar mit der in diesem Beitrag vorgestellten Lösung. Hier bauen wir auf einer einfachen Funktion auf, die den kompletten Inhalt aller VBA-Module exportiert und schauen uns dann die Unterschiede mit einem Texteditor an.

Weiterlesen

Wechselkurse per Webservice

Für viele finanzwirtschaftliche Anwendungen spielt die Umwandlung von Beträgen in verschiedene Währungen eine Rolle. Da wäre es doch praktisch, wenn man immer die aktuellen Umrechnungskurse parat hätte. Am besten jedoch nicht so, dass man diese immer aus dem Internet oder der Tageszeitung entnimmt und in die Anwendung eintippt – sondern eher als Information, die eine Anwendung automatisch aus dem Internet bezieht. Wir schauen uns an, wie wir den Webservice der europäischen Zentralbank für unsere Zwecke nutzen können.

Weiterlesen

Verweise aus anderer Datenbank importieren

Wenn eine Datenbank beschädigt ist, können Sie diese oft retten, indem Sie eine neue Datenbank aufsetzen und alle Objekte der alten Datenbank in die neue Datenbank importieren. Leider berücksichtigt die Import-Funktion nicht die Verweise des VBA-Projekts. Je nach der Anzahl der Verweise kann das Übertragen der Verweise recht mühsam werden. Zum Glück kann man fast alles automatisieren, was sich sonst über die Benutzeroberfläche von Access erledigen lässt. In diesem Fall bauen wir uns ein Add-In, mit dem wir der aktuell geöffneten Datenbank die Verweise einer ausgewählten Datenbank hinzufügen können.

Weiterlesen

Rechnungen mit ZUGFeRD 1.0, Teil 1: .NET

ZUGFeRD ist das Akronym für “Zentraler User Guide des Forums elektronische Rechnung Deutschland”. Außerdem ist es ein elektronisches Rechnungsdatenformat für den Austauschen von Rechnungen und damit ein Lösungsansatz für die Frage, wie man die Daten einer Rechnung auf einfache Weise für die Durchführung der Überweisung des berechneten Betrags verarbeiten kann. Genau genommen nutzt man hier eine Kombination aus einem auf spezielle Weise hergestellten PDF-Dokuments und eines XML-Dokuments, das die in der Rechnung enthaltenen Daten einmal optimiert für das menschliche Auge und einmal optimiert für die Datenverarbeitung enthält. In diesem ersten Teil einer kleinen Beitragsreihe zeigen wir, wie Sie die Open Source-Bibliothek von Konik in einer .NET-Lösung nutzen, um daraus eine DLL für den Zugriff auf Access heraus zu erstellen.

Weiterlesen

Rechnungen mit ZUGFeRD 1.0, Teil 2: Access-DLL

Im ersten Teil der Beitragsreihe haben wir gezeigt, wie Sie eine DLL erzeugen können, mit der Sie von außen übergebene Daten plus eine Rechnung im PDF-Format zu einer ZUGFeRD-konformen Rechnung zusammenführen können. Das heißt, dass die PDF-Rechnung in eine Rechnung des Formats PDF/A-3 umgewandelt wird und ein XML-Dokument mit den Rechnungsdaten im computerlesbaren Format in das PDF-Dokument integriert wird. Der zweite Teil der Beitragsreihe zeigt nun, wie Sie die für das XML-Dokument benötigten Informationen an die DLL übergeben und so die ZUGFeRD-Rechnung erstellen.

Weiterlesen

Objekte im Ribbon verfügbar machen

Manchmal wird die Liste der Tabellen, Abfragen, Formulare und Co. im Navigationsbereich etwas unübersichtlich. Da wünscht sich der eine oder andere, dass die wichtigsten Elemente einer Datenbank schnell zur Verfügung stehen. Eine Möglichkeit, das zu erledigen, ist das Ribbon. Wie Sie die dort anzuzeigenden Elemente auswählen und diese dort hinzufügen, zeigt der vorliegende Beitrag.

Weiterlesen

Flexible Adressen

Das Thema Adressverwaltung kann man auf viele verschiedene Arten lösen. In vielen Fällen reicht eine einfache Tabelle, die eine Adresse speichert. Reden wir über Adressen in einer Kundenverwaltung, kann es auch vorkommen, dass der Kunde unterschiedliche Adressen für Lieferungen und Rechnungen angeben möchte. Solche Daten speichert man entweder in einer einzigen Tabelle je Kunde oder man trägt die Liefer- und Rechnungsadresse in eigene Tabellen ein, die man dann per 1:1-Beziehung mit dem Kundendatensatz verknüpft. Wir gehen noch einen Schritt weiter und wollen mit der hier vorgestellten Lösung die Möglichkeit bieten, nicht nur zwei, sondern beliebig viele Adressen je Kunde anzulegen – die dann flexibel als Rechnung- oder Lieferadresse festgelegt werden können.

Weiterlesen