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.

Weiterlesen

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.

Weiterlesen

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.

Weiterlesen

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.

Weiterlesen

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.

Weiterlesen

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.

Weiterlesen

Zugriff auf lexoffice per REST-API und VBA

lexoffice ist ein Online-Buchhaltungsdienst, der es Unternehmen ermöglicht, Rechnungen, Bestellungen und Bankkonten zu verwalten und Berichte zu erstellen. Der Service bietet ein einfaches Dashboard, mit dem Benutzer Geschäftsinformationen leicht auffinden und mit wenigen Klicks auswerten können. Rechnungen lassen sich online oder über die mobile App erstellen, Umsätze auf Bank- oder Paypalkonten liest lexoffice automatisch ein und es ermöglicht die Zuordnung von Ein- und Ausgangsrechnungen zu den Umsätzen. Aber das Beste ist: lexoffice bietet eine REST-API-Schnittstelle, die wir von einer Access-Datenbank aus per VBA ansteuern können. Grund genug, diese Schnittstelle einmal genauer anzusehen!

Weiterlesen

URLs kodieren per VBA

URLs enthalten oft Sonderzeichen, die von Internetbrowsern nicht interpretiert werden können. Dabei handelt es sich beispielsweise um Leerzeichen in den Namen von HTML-Dateien oder auch um Sonderzeichen in den Parametern einer URL. Wenn wir zum Beispiel für den Zugriff auf eine REST-API Parameter zu einer URL hinzufügen wollen, die Sonderzeichen enthalten, müssen wir diese für den Browser lesbar machen. Das geschieht durch die sogenannte URL-Kodierung, auch Encoding genannt. Dabei ersetzt man die betroffenen Zeichen durch ein Prozentzeichen gefolgt von einem Zahlencode für das jeweilige Zeichen – bei einem Leerzeichen beispielsweise %20. Die Umwandlung solcher Zeichenketten erledigen wir mit einer VBA-Funktion, die wir im vorliegenden Beitrag vorstellen.

Weiterlesen

Sicherheitswarnungen in Access

Nach einigen Jahren der Konstanz hat sich Microsoft mal wieder etwas Neues ausgedacht, um für mehr Sicherheit für die Anwender zu sorgen. Bisher erschien bei Datenbanken aus unbekannten Quellen beim Öffnen ein gelber Balken, der direkt per Mausklick auf eine Schaltfläche die Möglichkeit bot, die Datenbank als sicher einzustufen und sofort auf diese zuzugreifen. Das ist bei sonst gleichen Bedingungen nun nicht mehr möglich und es ist ein zusätzlicher Schritt erforderlich. Welcher das ist und wie Sie die Bedingungen verändern können, um direkt auch auf unbekannte Datenbanken zuzugreifen, zeigen wir in diesem Beitrag.

Weiterlesen

Alternative MsgBox mit Überschrift

Neulich ist mir aufgefallen, dass es in Access Meldungen vom System gibt, die nicht nur normalen Text enthalten, sondern die fett gesetzte Überschriften präsentieren. Also dachte ich, dass dies doch auch für unsere eigenen Meldungsfenster möglich sein müsste und habe mich auf die Suche begeben. Und siehe da – es gibt eine Alternative zur herkömmlichen VBA-MsgBox-Anweisung, mit der wir Überschriften in fetter Schrift darstellen können!

Weiterlesen