Standardverzeichnisse per VBA ermitteln

Es gibt eine ganze Reihe von Verzeichnissen, die es auf jedem Rechner gibt. Manche davon sollten eigentlich immer gleich lauten, aber durch die Installation von Windows oder Software auf Laufwerken mit anderen Laufwerkbuchstaben als C: gibt es hier gelegentlich Unterschiede. In manchen Fällen sorgt auch die Betriebssystemversion für Unterschiede, beispielsweise bei 32bit- gegenüber 64bit-Systemen. Und ganz sicher unterscheiden sich die Verzeichnisse, die dem jeweiligen Benutzer gehören. Dennoch wollen Sie früher oder später einmal dynamisch auf ein bestimmtes Verzeichnis zugreifen wie etwa das Verzeichnis der eigenen Dateien eines Benutzers oder das Add-In-Verzeichnis von Access. Dieser Beitrag zeigt, wie Sie solche Verzeichnisse ermitteln.

Weiterlesen

Windows-API per VBA nutzen

Access stellt ausreichend Bordmittel zur Programmierung von Datenbankanwendungen zur Verfügung. Dazu gehören die Benutzerschnittstellen zur Gestaltung der Datenbankobjekte wie Tabellen, Abfragen, Formulare und Berichte sowie die Möglichkeit, Abläufe ereignisgesteuert per Makro oder VBA zu automatisieren. Manchmal reichen die vorhandenen Befehle aber nicht aus. In dem Fall greifen Sie auf die Prozeduren der Windows-API (Application Programming Interface) zu. Mit API-Prozeduren können Sie Ihre Anwendungen alles machen lassen, was Windows auch kann.

Weiterlesen

Der ACLib-FilterForm-Wizard

In Access-Formularen wird regelmäßig Code zum dynamischen Erzeugen eines Filterausdrucks eingebaut. Wie Sie diesen Code übersichtlich gestalten, steht im Beitrag “SQL-Text für Filterbedingungen”. Damit die Filter-Klassen aus diesem Beitrag genutzt werden können, ist Code im Formular erforderlich. Mit diesem Code wird die Filterung ausgelöst und der Filterausdruck erzeugt. Außerdem müssen Sie die Klassen in ihre Anwendung einfügen. Diese Aufgaben nimmt Ihnen der ACLib-FilterForm-Wizard ab.

Weiterlesen

SQL-Text für Filterbedingungen mit Klasse

Mit dem Einsatz von Klassen können Sie Ihren Programmcode übersichtlich gestalten. Wenn Sie konkrete Aufgaben mittels wiederverwendbaren Klassen umsetzen, erhalten Sie zusätzlich eine Code-Sammlung, die die Code-Qualität erhöht, weil Sie Korrekturen im Code nur noch an einer Stelle umsetzen müssen. Die in diesem Beitrag beschriebenen Klassen sind wiederverwendbare Klassen für die Erstellung eines Filterausdrucks, die Sie ohne Änderung in Ihre Anwendung importieren und nutzen können.

Weiterlesen

Filterbedingungen einfach zusammenstellen

Erstellen Sie in Ihren Anwendungen mit VBA Filterausdrücke, um Formulare zu filtern oder Recordsets mit einer gefilterten Datenherkunft zu öffnen Sind Ihnen dabei schon Fehler passiert, weil Sie die Werte nicht richtig konvertiert haben Oder finden Sie den Code zum Filtern zu aufwendig und suchen eine Möglichkeit, die Erstellung des Filtertextes zu vereinfachen Im vorliegenden Beitrag werden Sie verfolgen, wie eine Code-Struktur entsteht, die alle notwendigen Konvertierungsregeln berücksichtigt und trotzdem in der Anwendung übersichtlich ist und Programmierfehler vermeidet.

Weiterlesen

Klasse für DHL-Intraship-CSV-Dateien

Die CSV-Dateien, die für die Einreichung bei DHL für die Erstellung von Versandetiketten gefordert werden, sind erstens sehr umfangreich und zweitens auch noch komplex. Diese einfach per Code zusammenzusetzen mag auf den ersten Blick schnell gehen, aber was geschieht, wenn später einmal Änderungen nötig sind Um die Programmierung des Exports einer CSV-Datei für DHL-Intraship zu vereinfachen, erstellen wir in diesem Beitrag einige Klassen, mit denen das Zusammenstellen der CSV-Dateien zum Kinderspiel wird.

Weiterlesen

Dateizugriffsklasse

Diese Anforderung kommt bei mir immer wieder vor: Ich möchte per VBA eine Textdatei erstellen oder die Inhalte einer Textdatei einlesen. Dummerweise kann ich mir die genauen Befehle für die verschiedenen Anwendungsfällt einfach nicht merken: Datei in einem Zug einlesen, Datei zeilenweise einlesen und so weiter. Jetzt ist es soweit: Ich baue mir eine Klasse, die alle benötigten Befehle enthält und bereitstellt. Die brauche ich dann nur noch in die jeweilige Datenbank einzufügen und kann nach Lust und Laune auf Text- und andere Dateien zugreifen.

Weiterlesen

COM-Add-Ins mit Visual Studio Community 2013

Mit der neuen Visual Studio-Version hat Microsoft nicht nur eine Express-Edition im Programm, sondern auch die sogenannte Community-Edition. Diese hat den Vorteil, dass sie den vollen Funktionsumfang von Visual Studio 2013 nutzen können. Dies soll für Einzelentwickler, die eigene Anwendung für die eigene Verwendung oder den Verkauf entwickeln wollen, kostenlos sein – ein guter Grund, sich einmal anzusehen, wie sich Office damit um Add-Ins erweitern lässt. Eines vorweg: Access-Add-Ins lassen sich damit leider nicht erstellen. Aber es gibt ja auch eine Menge Möglichkeiten, die übrigen Office-Anwendungen um ein Add-In für die Interaktion mit Access zu erweitern …

Weiterlesen

COM-Add-Ins: Setup erstellen

Wenn Sie ein COM-Add-In mit Visual Studio 2013 erstellen, möchten Sie es vermutlich nicht nur auf dem Entwicklungsrechner einsetzen, sondern dieses auch weitergeben. Dazu erstellt man der Regel ein Setup, dass dann auf den Zielrechner kopiert und dort ausgeführt wird. Der Vorteil ist, dass dieses die benötigten Dateien direkt an der richtigen Stelle speichert und die Registry-Einträge zum System hinzufügt. Dieser Beitrag zeigt die Schritte, die zum Erstellen eines solchen Setups erforderlich sind.

Weiterlesen

Debugging-Hilfsfunktionen

Beim Debuggen von VBA-Code, der Anweisungen für den Zugriff auf die Daten der Anwendung per DAO enthält, benötigt man immer wieder mal Detailinformationen. Welche Felder enthält die Tabelle noch Welchen Wert enthalten die Felder des aktuellen Datensatzes Wie viele Datensätze liefert das aktuelle Recordset Die notwendigen Informationen kann man sich mithilfe entsprechender Ausdrücke über das Direktfenster holen, aber meist kostet dies unnötig Zeit. Warum also nicht einfach eine kleine Hilfsklasse programmieren, die solche Fragen sehr einfach beantwortet Dieser Beitrag zeigt, wie es gelingt.

Weiterlesen