Anlagefelder mit mehreren Dateien zum SQL Server

Im Beitrag „Anlage-Feld zum SQL Server migrieren“ (www.access-im-unternehmen.de/1542) haben wir gezeigt, wir man die Inhalte von Anlagefeldern einer Access-Datenbank in ein varbinary(max)-Feld einer SQL Server-Datenbank übertragen können. Dort sind wie davon ausgegangen, dass jedes Anlagefeld immer nur eine Datei enthält, was in vielen Fällen ausreichend ist. Was aber, wenn der Entwickler das Anlagefeld für mehrere Dateien vorgesehen hat – beispielsweise, um ein oder mehrere Produktbilder zu einem Produkt zu speichern? In diesem Fall müssen wir umdenken, den wir können optimalerweise immer nur eine Datei in einem varbinary(max)-Feld speichern. Zum Speichern mehrerer Dateien müssen wir uns also einen Workaround überlegen. Wie dieser aussieht, schauen wir uns im vorliegenden Beitrag an.

Weiterlesen

Dateidownload per API

Manchmal kommt es vor, dass man einen oder mehrere Downloads durchführen muss. Normalerweise führt man diesen Download durch einen Klick auf den entsprechenden Link durch. Die Datei landet danach üblicherweise im Download-Ordner, von wo wir ihn dann zum gewünschten Ort verschieben. Wenn wir zuvor die URL der herunterzuladenden Datei kennen und auch wissen, in welchen Ordner und unter welchem Namen die Datei im System landen soll, können wir dies auch per VBA realisieren. Dazu benötigen wir nur eine einfache API-Funktion und ihren Aufruf.

Weiterlesen

Lastschriften mit DDBAC und VBA

Das Anlegen von Lastschriften ist eine wichtige Funktion, wenn man Kunden neben Zahlungsarten wie Rechnung, PayPal, Kreditkarte et cetera auch noch die Möglichkeit geben möchte, die Bankverbindung anzugeben, um den Betrag zum Fälligkeitsdatum einfach abbuchen zu lassen. Das ist gerade für wiederkehrende Leistungen wie Abonnements praktisch. Dazu sind jedoch erstens einige Voraussetzungen zu erfüllen wie zum Beispiel das Aktivieren der Möglichkeiten zum Einziehen von Lastschriften und das Beantragen einer sogenannten Gläubiger-Identifikationsnummer. Schließlich benötigen wir noch den passenden VBA-Code. Allein damit kommen wir aber nicht aus: Wenn wir gemütlich von unserer Datenbankanwendung aus Lastschriften anlegen wollen, benötigen wir eine zusätzliche Bibliothek. Dabei handelt es sich um die in vielen Anwendungen verwendete DDBAC-Bibliothek. Wie wir die einzelnen Schritte erledigen, um unsere Anwendung zum Anlegen von Lastschriften verwenden zu können, zeigen wir in diesem Beitrag.

Weiterlesen

Benutzerdefinierter Navigationsbereich im Griff

Den Navigationsbereich von Access kennt jeder Access-Entwickler. Damit öffnen und verwalten wir die Access-Objekte beim Entwickeln einer Datenbankanwendung. Aber der Navigationsbereich bietet noch mehr Möglichkeiten, als einfach nur die Tabellen, Abfragen, Formulare, Berichte, Makros und Module sortiert nach Kategorien anzuzeigen und eine einfache Suchfunktion dafür bereitzustellen. Wir können damit auch noch benutzerdefinierte Kategorien und Gruppen erstellen, in denen wir die Objekte individuell strukturieren können. Während die Verwendung dieser Funktionen eher trivial ist, weshalb wir nur einen kurzen Blick darauf werfen, interessiert uns aus Entwicklersicht, wo diese Kategorien und Gruppen sowie die enthaltenen Elemente gespeichert werden. In diesem Beitrag werden die notwendigen Schritte beschrieben, um diese Einstellungen und Elemente bei der Übertragung der Anwendung in eine neue Datenbankdatei zu berücksichtigen.

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 den nun statt der ursprünglichen Tabellen verwendeten Tabellenverknüpfungen arbeitet, sondern auch mit VBA – insbesondere mit DAO-Recordsets – auf diese Daten zugreift. 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. Diese werden dann bei Bedarf der Datenbank hinzugefü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, das man mit verschiedenen Texten, Icons und Schaltflächen ausstatten kann. Die InputBox-Anweisung bietet ein Eingabefenster für einfache Texte an, der auch vorgeben werden 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