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

Das Windows Management Instrumentarium

Wenn Sie in Ihrer Datenbank externe Informationen über System, Hardware oder Software benötigen, so lassen sich diese unter VBA meist nur über umfangreiche API-Routinen gewinnen. Dabei gibt es mit dem Windows Management Instrumentarium, kurz WMI, eine Schnittstelle, die fast keine Wünsche offen lässt und Ihnen enorm viel Programmierarbeit abnehmen kann. Das ist Grund genug, diese Schnittstelle einmal genauer unter die Lupe zu nehmen.

Weiterlesen

Mit Arrays arbeiten

Über Arrays unter VBA wurde schon vieles geschrieben und gesagt. Dennoch gibt es praktische Hinweise, die man gelegentlich benötigt, nicht so einfach im Internet. Also werfen wir in diesem Beitrag einen genaueren Blick auf die Möglichkeiten, die Arrays bieten, und liefern einige neue Funktionen rund um die Felder zum temporären Speichern und Bereitstellen von Daten. Unter anderem sehen wir uns an, wie Sie die Inhalte von Arrays zu Debugging-Zwecken im Direktbereich oder in einer Excel-Tabelle ausgeben oder wie Sie prüfen, ob ein Array leer ist.

Weiterlesen

Suchen mit der clsFlexSearch-Klasse

Die Klasse clsFlexSearch lässt sich einfach in Formulare integrieren und fügt einem einfachen Textfeld umfassende Suchmöglichkeiten hinzu. Wie Sie diese Suche implementieren, erfahren Sie im Beitrag Flexible Suche in Formularen (www.access-im-unternehmen.de/965). Der vorliegende Beitrag erläutert die Klasse clsFlexSearch und stellt den Code vor, damit Sie diesen nachvollziehen und ihn gegebenenfalls an Ihre eigenen Bedürfnisse anpassen können.

Weiterlesen

VBA unter Access mit 64 Bit

Die 64bit-Version von Access sollten Sie schon deshalb nicht nutzen, weil diese ActiveX-Steuerelemente wie das TreeView-, das ListView- oder das ImageList-Steuerelement nicht unterstützt. Aber es gibt noch weitere Gründe: Zum Beispiel könnte es Probleme bei der Verwendung von API-Funktionen geben. Manchmal bleibt einem Entwickler allerdings keine anderen Möglichkeit, weil etwa am Arbeitsplatz nur die 64bit-Version vorliegt oder aber der Kunde mit dieser Version arbeiten muss. Der vorliegende Beitrag liefert Informationen, wie Sie nicht kompatible VBA-Anweisungen für die Zielversion anpassen müssen und wie Sie programmieren müssen, um die 32bit- und die 64bit-Version gleichermaßen zu bedienen.

Weiterlesen

Objekt- und Feldnamen per Kontextmenü

Kennen Sie das auch Sie konzentrieren sich gerade mal wieder voll auf die Programmierung einer Prozedur und wollen eine SQL-Anweisung zusammenstellen. Dummerweise fällt Ihnen der Name der Tabelle und/oder des Feldes nicht ein, das Sie dort verwenden möchten. Also wechseln Sie zum Access-Fenster, ermitteln dort den gesuchten Namen und kehren wieder zum VBA-Editor zurück. Dort ergänzen Sie dann die gesuchte Anweisung. Damit ist jetzt Schluss: Dieser Beitrag stellt nämlich eine einfache Lösung vor, mit der Sie die Namen aller Tabellen, Abfragen und Felder ganz einfach per Kontextmenü nachschlagen und zum Code hinzufügen können.

Weiterlesen