Rechnungsbericht mit EPC-QR-Code
Nachdem wir in einigen vorherigen Beiträgen eine feine Verwaltung für Kunden, Produkte und Bestellungen programmiert haben, wagen wir uns nun an ein Thema heran, das noch recht neu ist und das auch erst durch die wachsende Anzahl von Anwendungen im Finanzbereich für mobile Geräte entstanden ist. Wir wollen Rechnungen nun nicht mehr nur auf einem schnöden Blatt Papier oder als PDF-Dokument erzeugen, sondern diese auch noch mit einem schicken QR-Code versehen, der die für die Begleichung der Rechnung über die Banking-App notwendige Bilddatei anzeigt. Und wenn wir schon dabei sind, erklären wir auch direkt, wie Sie auf Basis der bisherigen Teile dieser Beitragsreihe einen Rechnungsbericht erstellen.
Mit Zeiten rechnen
Zeit- und Datumsangaben sind elementarer Bestandteil vieler Anwendungen. Da sollte man wissen, wie man mit diesen Daten rechnet. Dabei ist es einerlei, ob es um das Ermitteln einer Zeitspanne zwischen zwei Zeitangaben oder um das Summieren von Zeiten geht – Stolperfallen gibt es dabei eine ganze Reihe. Dieser Beitrag zeigt, wie Sie die Klippen beim Rechnen mit Zeiten umgehen, egal ob in VBA, Abfragen, Formularen oder Berichten.
Datum und Zeit mit Access
Das Speichern von Datum- und Zeitwerten mit Access birgt wenige Geheimnisse. Sie fügen einer Ta-belle ein Feld vom Datentyp »Datum/Zeit« hinzu und schon können Sie Werte in dieses Feld eingeben. Die tägliche Praxis im Umgang mit Datum- und Zeitwerten stellt aber höhere Anforderungen. Mit den Tipps aus dem folgenden Beitrag können Sie die meisten der sich stellenden Fragen beantworten.
Bilder per COM-Add-In hinzufügen
Im Beitrag »Bilder für Buttons und Co. schnell hinzufügen« haben wir eine Prozedur und eine Funktion vorgestellt, mit der Sie mehrere Bilder für die Anzeige in Schaltflächen et cetera gleichzeitig zu einer Access-Datenbank hinzufügen können. Allerdings ist es unpraktisch, wenn wir solch eine Funktion in jede Datenbank hineinkopieren müssen, in der wie diese sehen wollen. Also bauen wir uns ein COM-Add-In, mit dem wir nicht eine weitere Schaltfläche mit der neuen Funktion zum Ribbon hinzufügen – sondern gleich die vorhandene Schaltfläche mit der neuen Funktion belegen! Der Benutzer braucht sich also gar nicht umzugewöhnen und kann wie gewohnt Bilder zur Anwendung hinzufügen.
Probleme bei Verweisen mit verschiedenen Versionen
Wenn Sie Datenbanken entwickeln, die auf Rechnern eingesetzt werden sollen, die eine ältere Version von Office verwenden, kann es zu Problemem kommen. Abgesehen davon, dass die Datenbank Funktionen enthalten könnte, die auf der Zielplattform nicht verfügbar sind, kommt es vor allem zu Problemen mit Verweisen. Ein Beispiel sind Verweise auf die Office-Anwendungen. Haben Sie Verweise zu den Bibliotheken von Word, Excel, Outlook et cetera, die sich auf die aktuelle Office-Version beziehen, und stellt der Zielrechner diese nicht bereit, kann es sein, dass die Anwendung nicht wie gewünscht funktioniert. Wir schauen uns an, wie die Probleme entstehen und wie wir diese lösen können.
Bilder für Buttons und Co. schnell hinzufügen
Wenn Sie mit Access ein neues Bild zu einem Formular hinzufügen oder dieses für eine Schaltfläche hinterlegen, speichert Access diese in einer Tabelle namens MSysResources. Das Hinzufügen ist recht einfach und lässt sich per Ribbonbefehl und anschließende Auswahl per Datei öffnen-Dialog realisieren. Allerdings kann man auf diese Weise immer nur ein Bild gleichzeitig zur Anwendung hinzufügen. Wenn man einer Schaltfläche schnell ein Icon zuweisen möchte, wäre es praktisch, wenn alle üblicherweise benötigten Bilder bereits verfügbar sind. Daher schauen wir uns in diesem Beitrag an, wie wir mehrere Bilder auf einen Schlag zur Tabelle MSysResources hinzufügen können.
Dateien aus dem Web herunterladen per VBA
Es gibt eine Menge Gründe, warum man per VBA komplette Dateien aus dem Internet herunterladen sollte. Beispielsweise könnte man von dort Listen im Excel- oder .csv-Format herunterladen, um anschließend die enthaltenen Daten in die aktuelle Datenbank einzulesen. Oder man hat eine Anwendung, die beim Kunden läuft, und diese soll in regelmäßigen Abständen prüfen, ob es ein Update für diese Anwendung gibt und die neue Datei bei Bedarf aus dem Internet herunterladen. In diesem Beitrag zeigen wir die Technik, mit der solche Anforderungen umgesetzt werden. Dabei nutzen wir verschiedene Techniken, zum Beispiel per API oder mit dem XMLHTTP-Objekt der Bibliothek Microsoft XML, v6.0.
Ribbon: Controls erkennen und ausblenden
Das Dateimenü von Access bietet eine ganze Reihe praktischer Elemente. Diese sind im Alltagsgebrauch eines Entwicklers sehr hilfreich, bieten sie doch schnellen Zugriff auf wichtige Funktionen. Wollen wir eine Anwendung entwickeln und diese an den Benutzer weitergeben, sollen jedoch unter Umständen gar nicht all diese Befehle verfügbar sein. Vielleicht wollen wir zusätzlich oder statt dieser Einträge sogar eigene Elemente hinzufügen, beispielsweise für das Speichern von Anwendungsoptionen. In diesem Fall ist der erste Schritt, einen oder mehrere der vorhandenen Einträge auszublenden. Wie das gelingt, zeigen wir in diesem Beitrag.
Sperrung durch Memofeld statt anderer Sitzung
Neulich bat mich ein Kunde, mir einmal ein Netzwerkproblem beim ihm anzusehen. Aufgrund der Fehlermeldung konnte es keine andere Ursache geben – sie lautete »Aktualisieren nicht möglich, momentane Sperrung durch eine andere Sitzung auf diesem Rechner«. Also haben wir uns diese Sache gemeinsam angesehen und zunächst schien die Meldung plausibel – immerhin arbeitete eine andere Mitarbeiterin gerade mit der Datenbank und es konnte gut sein, dass der Datensatz gesperrt war. Allerdings trat das Problem später immer noch auf, obwohl niemand sonst mehr mit der Datenbank arbeitete. Gemeinsam sind wir dem Problem dann auf die Schliche gekommen. Die Überschrift deutet es bereits an: Ein Memofeld spielte eine große Rolle bei der Lösung des Problems.