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

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

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

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

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

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

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

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

Early Binding und Late Binding gleichzeitig nutzen

Early Binding und Late Binding sind zwei Konzepte für das gleiche Ziel: Die Eigenschaften und Methoden von Elementen einer Bibliothek unter VBA verfügbar zu machen. Beide unterscheiden sich in verschiedenen Punkten und haben Vor- und Nachteile. Diese ein wenig auszugleichen ist das Ziel dieses Beitrags: Wir wollen zeigen, wie Sie die Vorteile von Early Binding wie den Einsatz von IntelliSense nutzen können, und gleichzeitig schnell zu Late Binding zu wechseln, um die dortigen Vorteile zu nutzen. Dazu schauen wir uns zunächst noch einmal die wesentlichen Unterschiede an und kommen dann zu unserer Idee, beide Versionen parallel zu nutzen – mit einer Technik namens „bedingte Kompilierung“.

Weiterlesen

Outlook.com mit Access und VBA: Vorbereitungen

Das Damoklesschwert der Abkündigung des klassischen Outlook schwebt über unseren Häuptern: Microsoft treibt die Einführung des neuen Outlook voran und damit zieht sich die Schlinge für alle zusammen, die aktuell beispielsweise von ihrer Access-Anwendung aus per VBA auf Outlook zugreifen. Auf das neue Outlook können wir nicht mehr direkt per VBA zugreifen. Wir brauchen einen neuen Weg, um E-Mails zu versenden, Kontakte zu synchronisieren oder auch um Kalendereinträge zu verwalten. Das liest sich erst einmal nachteilig. In diesem und einigen weiteren Beiträgen wollen wir uns mit alternativen Möglichkeiten beschäftigen, um per VBA aus unserer Datenbankanwendung heraus Outlook zu steuern. In diesem Fall nicht mehr unser gewohntes, klassisches Outlook, aber auch nicht direkt das neue Outlook. Stattdessen zeigen wir, wie man direkt mit den Diensten von Outlook interagieren kann, die wir auch über Outlook.com verwenden können. In diesem Beitrag zeigen wir, wie die Vorbereitung für den Zugriff auf unser Outlook.com-Konto abläuft.

Weiterlesen