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

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

Tabellenfeldbeschriftungen im Griff

Wozu sollte man Tabellenfeldbeschriftungen im Griff haben? Und was ist das überhaupt? Die Eigenschaft „Beschriftung“ von Tabellenfeldern kennen viele Entwickler gar nicht. Dabei könnten sie sich eine Menge Zeit sparen, wenn sie diese Eigenschaft nutzen würden. Trägt man nämlich beispielsweise für ein Feld wie „EMail“ eine Beschriftung wie „E-Mail“ ein, dann wir diese statt des Feldnamens als Spaltenüberschrift der Tabelle in der Datenblattansicht angezeigt. Und es geht noch weiter: Wenn man in Formularen und Berichten Steuerelemente auf Basis dieser Felder anlegt, übernimmt Access auch dort den Wert der Eigenschaft Beschriftung statt des Feldnamens für die Bezeichnungsfelder Steuerelemente. Man braucht als nur an einer Stelle eine Änderung vorzunehmen und profitiert an vielen anderen Stellen davon. Und wenn man nun nicht in jeder neuen Datenbank die Beschriftungen erneut anlegen müsste … doch auch dafür haben wir in diesem Beitrag eine Lösung.

Weiterlesen

Formatassistent für Textfelder, Teil 2

Access liefert standardmäßig bereits einige Assistenten mit. Für die Format-Eigenschaft jedoch liefert es nur ein Auswahlfeld mit einigen voreingestellten Optionen wie verschiedneen Zeit-, Zahlen und Boolean-Formaten. Diese dienen durchaus als gute Beispiele, wie man selbst Formatierungen vornehmen kann, aber wenn man sich dann an diese Aufgabe begibt, wird schnell ein ziemliches Experimentieren daraus. Um diesen Teil zu vereinfachen, wollen wir Sie mit einem Assistenten unterstützen. Dieser soll direkt über das Eingabefenster für die Format-Eigenschaft geöffnet werden und die Möglichkeit bieten, verschiedene Werte einzugeben und diese mit dem geünwschten Formatierungsausdruck zu testen. Und natürlich finden Sie in diesem Beitrag die Anleitung, wie Sie den Assistenten selbst erstellen können!

Weiterlesen

Formatassistent für Textfelder

Access liefert standardmäßig bereits einige Assistenten mit. Für die Format-Eigenschaft jedoch liefert es nur ein Auswahlfeld mit einigen voreingestellten Optionen wie verschiedneen Zeit-, Zahlen und Boolean-Formaten. Diese dienen durchaus als gute Beispiele, wie man selbst Formatierungen vornehmen kann, aber wenn man sich dann an diese Aufgabe begibt, wird schnell ein ziemliches Experimentieren daraus. Um diesen Teil zu vereinfachen, wollen wir Sie mit einem Assistenten unterstützen. Dieser soll direkt über das Eingabefenster für die Format-Eigenschaft geöffnet werden und die Möglichkeit bieten, verschiedene Werte einzugeben und diese mit dem geünwschten Formatierungsausdruck zu testen. Und natürlich finden Sie in diesem Beitrag die Anleitung, wie Sie den Assistenten selbst erstellen können!

Weiterlesen

Eigenschaftsassistenten oder Property Wizards

Vielleicht kennen Sie die kleinen Helferlein, die beim Anklicken einer Eigenschaft eines Formulars oder Steuerelements in Form einer Schaltfläche mit drei Punkten (…) auftauchen und beim Anklicken Unterstützung für das Füllen der jeweiligen Eigenschaft präsentieren. Wenn wir schon Access-Add-Ins, Tabellen-, Abfrage-, Formular und Berichtsassistenten sowie Steuerelement-Assistenten programmieren können, warum dann nicht auch noch Eigenschaftsassistenten? In diesem Beitrag zeigen wir die Grundlagen für das Programmieren eines Assistenten, der beim Anklicken der genannten Schaltfläche erscheint und seine Hilfe anbietet.

Weiterlesen

Datensatznavigation per Ribbon

Die Navigationszeile am unteren Rand von Formularen oder Unterformularen in der Datenblattansicht ist recht fummelig und fällt nicht auf den ersten Blick auf, wenn man nicht gewohnt ist, damit zu arbeiten. Es gibt eine Menge Lösungen, bei denen diese Steuerelemente in Form von Formular-Schaltflächen bereitgestellt werden. Uns ist aber noch keine Lösung über den Weg gelaufen, bei der die Navigationssteuerelemente im Ribbon abgebildet wurden. Zwar gibt es einen eigenen Bereich, der Werkzeuge für den Umgang mit der Datenblattansicht bereitstellt, aber dieser bietet keine Steuerelemente zum Navigieren in den Datensätzen. Aber kein Problem: Wir liefern das nach!

Weiterlesen

VBA: Punkt oder Ausrufezeichen

Unter VBA gibt es Gelegenheiten, wo man zwischen zwei Elemente entweder einen Punkt oder ein Aufrufezeichen setzen kann, zum Beispiel bei gebundenen Steuerelementen in der Form Me.Vorname oder rst!Vorname. Im Gegensatz dazu stehen beispielsweise die Elemente eines Recordsets – hier können wir nur rst!Vorname verwenden, rst.Vorname führt zu einem Fehler. Ganz kompliziert wird es, wenn wir gebundene Steuerelemente auch noch umbenennen. Dann können wir auf den Wert des Steuerelements sowohl über Me!Vorname, Me.Vorname, Me!txtVorname oder Me.txtVorname zugreifen. Und manchmal führt die Syntax mit dem Punkt zu ernsthaften Verwirrungen, weshalb man in manchen Fällen auf jeden Fall die Ausrufezeichen-Syntax nutzen sollte.

Weiterlesen

Ressourcenprobleme mit Recordsets

In letzter Zeit werde ich wieder häufiger von Entwicklerkollegen angesprochen, die Fehler wie „Nicht genügend Systemressourcen“ oder „Nicht genügend Speicherplatz zum Ausführen der Operation“ erhalten, wenn sie mehrere Formulare mit Daten öffnen oder Code ausführen, der mit Recordsets arbeitet. Wenn sie dann über den Taskmanager die Ressourcen des Systems betrachten, stellen sie fest, dass es hier keinerlei Engpässe gibt. Wir schauen uns in diesem Beitrag an, wie dieser Fehler entstehen kann und welche Möglichkeiten es gibt, diesen zu beheben.

Weiterlesen

Fehlerhafte Access/Office-Updates zurücksetzen

Im November 2022 war es mal wieder soweit: Microsoft hat ein neues Update (glücklicherweise nur für den Betakanal) herausgegeben, der einen kritischen Fehler auslöste. Beim Bearbeiten oder Anlegen eines Datensatzes über ein Recordset stürzte Access ohne weitere Rückmeldung ab. Die Lösungen für diese Problem waren, solche Bearbeitungen durch alternative Techniken zu ersetzen oder aber das Update rückgängig zu machen. Letztere Alternative beschreiben wir in diesem Beitrag, damit Sie zukünftig eine schnelle Lösung zur Hand haben.

Weiterlesen