Fehler bei verknüpften ODBC-Tabellen in Recordsets

Wer eine Migration seiner Access-Datenbank zum SQL Server durchgeführt hat und dabei beispielsweise den SQL Server Migration Assistant genutzt hat, hofft vielleicht, damit schon am Ziel zu sein. Tatsächlich kann das in ganz wenigen Fällen so sein. Das ist aber nicht der Fall, wenn man nicht nur mit Abfragen, Formularen oder Berichten auf die statt der ursprünglichen Tabellen nun verwendeten Tabellenverküpfungen arbeitet, sondern außerdem per VBA auf diese Daten zugreift – insbesondere mit DAO-Recordsets. Dabei treten gelegentlich Fehler auf. Warum diese nur gelegentlich auftreten und wie wir diese Fehler endgültig verhindern, zeigen wir in diesem Beitrag.

Weiterlesen

SQL Server-Tabellenverknüpfungsassistent

Die Bordmittel von Access zum Herstellen oder Aktualisieren von Tabellenverknüpfungen zum SQL Server sind teilweise etwas umständlich zu bedienen und erfordern zwangsläufig den Einsatz von Data Source Names (DSN). Diese möchte man unter Umständen aber gar nicht nutzen, sondern einfach alle Informationen in die Verbindungszeichenfolge für die Tabelle schreiben. Natürlich kann man sich ein Set von Tabellen und Formularen zusammenstellen, mit denen man die Verbindungszeichenfolgen und Tabellenverknüpfungen verwaltet. Und die man bei Bedarf zu der Datenbank hinzufügt, deren Tabellenverknüpfungen man pflegen möchte. Aber manchmal möchte man einfach nur schnell mal etwas ausprobieren und dazu ist der Aufwand, die Datenbank um diese Tools zu erweitern, zu aufwendig. Wie wäre es also, wenn wir diese Tools einfach in ein Access-Add-In auslagern, mit dem wir unsere Verbindungszeichenfolgen und Verknüpfungen verwalten können? In diesem Beitrag schauen wir uns an, wie dies aussieht.

Weiterlesen

VBA-InputBox richtig nutzen in Access

Es gibt zwei Elemente, über die man von VBA aus mit Bordmitteln mit dem Benutzer interagieren kann. Die MsgBox-Anweisung liefert ein Meldungsfenster, dass man mit verschiedenen Texten, Icons und Schaltflächen ausstatten kann. Die InputBox-Anweisung bietet ein Eingabefenster für einfache Texte an, der man auch Text vorgeben kann. Während die InputBox eigentlich recht einfach zu programmieren ist, gibt es dennoch einen Trick, auf den wir in diesem Beitrag eingehen werden. Zusätzlich liefern wir alle Infos, damit Sie die InputBox in Ihren Access-Anwendungen effizient einsetzen können und dem Benutzer die Eingabe notwendiger Daten möglichst einfach gestalten.

Weiterlesen

Bilder im SQL Server mit varbinary(max)

Wie man Bilder in Access speichert, ist seit der Version 2010 eindeutig vorgegeben – nämlich in Anlagefeldern. Die Inhalte dieser Felder können auch leicht im Bild-Steuerelement angezeigt werden, dazu braucht man nur eine einfache Bindung an das entsprechende Feld. Allerdings bietet der SQL Server keinen solchen Datentyp, sondern nur verschiedene Alternativen. Dabei handelt es sich beispielsweise um den Datentyp VarBinary(max) oder um FILESTREAM. Die erstgenannte Alternative schauen wir uns im vorliegenden Beitrag an.

Weiterlesen

Prüfen, ob ein Formular geöffnet ist

Immer wieder taucht die Anforderung auf, dass wir prüfen müssen, ob ein Formular geöffnet ist. Das ist zum Beispiel der Fall, wenn man von einem anderen Formular oder Modul aus auf die Inhalte des fraglichen Formulars zugreifen möchte. Es gibt verschiedene Möglichkeiten, zu prüfen, ob das Formular geöffnet ist. In diesem Beitrag schauen wir uns die verschiedenen Möglichkeiten an.

Weiterlesen

Formular für den Mailversand

Im Beitrag „Outlook.com mit Access und VBA: Vorbereitungen“ und weiteren Beiträgen haben wir gezeigt, wie wir eine E-Mail über die Microsoft Graph API versenden. Da dies möglicherweise in der Zukunft die Alternative dazu sein wird, E-Mails einfach über die Fernsteuerung von Outlook zu verwenden, wollen wir gleich noch zeigen, wie unsere neue E-Mail-Funktion von einem Formular aus verwaltet und aufgerufen werden kann. Dabei wollen wir gleich auf Access-Seite die versendeten E-Mails speichern, wozu wir direkt noch ein kleines Datenmodell erstellen.

Weiterlesen

Referenzieren von Formularen und Steuerelementen

Wenn man mit VBA programmiert, kommt man nicht um das Referenzieren von Formularen und Steuerelementen herum. Dabei gibt es verschiedene Schreibweisen, verschiedene Ziele und auch noch verschiedene Ausgangspunkte. Bei den Schreibweisen scheiden sich die Geister, ob man Punkte oder Ausrufezeichen verwendet und wie detailliert oder kurz es sein soll. Die Ziele sind Formulare, Unterformulare und die darin enthaltenen Steuerelemente mit oder ohne Datenbindung. Und warum gibt es verschiedene Ausgangspunkte? Weil man einerseits vom Klassenmodul eines Formulars selbst auf die enthaltenen Steuerelemente zugreifen möchte, andererseits aber auch von Formularen auf die Elemente anderer Formulare oder auch von Prozeduren aus Standardmodulen. Wie all dies zusammenhängt und wie die Ausdrücke für die verschiedenen Konstellationen formuliert werden müssen, zeigen wir in diesem Beitrag.

Weiterlesen

Konto bei Outlook.com anlegen und nutzen

Wenn wir in Zukunft per VBA auf unsere E-Mails, Termine, Kontakte et cetera zugreifen wollen, gelingt das über die Microsoft Graph-Rest API. Diese wiederum eignet sich primär für den Zugriff auf die Daten eines Outlook.com-Kontos. In diesem Beitrag zeigen wir, wie Sie ein solches Konto anlegen und dieses nutzen. Dazu gehört die Verwendung über die Weboberfläche, aber auch die Integration in die verschiedenen Outlook-Versionen. Dabei schauen wir uns das klassische Outlook ebenso an wie das neue „New Outlook“.

Weiterlesen

Mails mit Microsoft Graph API per Klasse versenden

In den vorherigen Beiträgen haben wir uns bereits verschiedene Themen rund um die Versendung von E-Mails mit der Microsoft Graph API angeschaut. Dabei haben wir uns angesehen, wie wir einen Outlook-Account erstellen, wie wir dafür sorgen, dass wir per Microsoft Graph API auf diesen zugreifen, und wir damit E-Mails versenden. Die erarbeiteten Techniken werden wir in diesem Beitrag noch auf ein neues Level heben: Wir erstellen eine Klasse, die alle notwendigen Eigenschaften und Methoden enthält, um die Daten einer E-Mail hinzuzufügen und die E-Mail schließlich zu versenden.

Weiterlesen

Mails senden mit der Microsoft Graph API

Im Beitrag „Outlook.com mit Access und VBA: Vorbereitungen“ haben wir gezeigt, wie wir die Voraussetzungen für den Zugriff auf unser Outlook-Konto mit der Rest-API von Microsoft erschaffen. Dabei haben wir eine Anwendung bei Microsoft registriert und die notwendigen Daten wie die Application-ID, die Tenant-ID und die SecretID ermittelt, die wir für den Zugriff auf die Rest-API benötigen. Außerdem haben wir dort die benötigten Berechtigungen eingestellt, hier erst einmal für das Senden von E-Mails. Was wir nun benötigen, sind zwei Dinge: Erstens ein Token, das wir für die Authentifizierung bei der Rest-API benötigen, zweitens den VBA-Code für die Ausführung der eigentlichen Rest-API-Aufrufe. Damit erstellen wir eine erste Prozedur, mit der wir E-Mails über unser Outlook.com-Konto versenden können. Darauf aufbauend werden wir in weiteren Beiträgen zeigen, wie wir weitere Funktionen implementieren können.

Weiterlesen