Setup für Access-Anwendungen

Auch eine Access-Applikation muss irgendwann den User erreichen, und je einfacher wir es diesem machen, umso besser für uns. Zu diesem Zweck verwenden Entwickler seit vielen Jahren sogenannte Installations- oder Setup-Programme. Das kostenlose InnoSetup ist ein solches, das über den in Access bereits enthaltenen “Verpackungs- und Weitergabeassistenten” weit hinaus geht. In diesem Artikel erfahren Sie die Grundlagen, weitere Artikel befassen sich mit der Umsetzung und möglichen Erweiterungen.

Weiterlesen

COM-Add-In: Ereignisprozedur zur Laufzeit anzeigen

Bei unserer Arbeit mit Access passiert es immer wieder, dass wir schnell prüfen wollen, was eine durch ein bestimmtes Ereignis ausgelöste Prozedur überhaupt erledigt. Dann muss man in den Entwurf wechseln, einen Haltepunkt setzen, wieder den Formularentwurf aktivieren und dann das Ereignis auslösen. Wir wäre es mit einem Add-In, mit dem Sie die Ereignisse des aktuell markierten Steuerelements direkt anzeigen könnten Ein solches COM-Add-In wollen wir in diesem Beitrag entwickeln und vorstellen. Das ist ein perfekter Anwendungszweck für die neue Entwicklungsumgebung twinBASIC, die wir in Ausgabe 3/2021 im Detail vorgestellt haben.

Weiterlesen

Selektionen speichern

Mit den Möglichkeiten der Datenblattansicht können Sie bereits umfassende Filter einsetzen und Sortierungen anwenden. Dazu brauchen Sie nur die Steuerelemente zu nutzen, die bei einem Mausklick auf die Schaltfläche mit dem Pfeil nach unten im Spaltenkopf auftauchen. Aber was, wenn Sie immer wieder die gleichen Selektionen benötigen Sollen Sie dann etwa immer wieder manuell die gleichen Einstellungen vornehmen Nein, das wäre nicht die Idee von Access im Unternehmen. Wir zeigen Ihnen im vorliegenden Beitrag, wie Sie die Auswahl in Unterformularen in der Datenblattansichten speichern und einfach wiederherstellen können!

Weiterlesen

Selektionen kombinieren

Bei einem Newsletter-Dienstleister habe ich neulich eine tolle Möglichkeit gesehen, um Daten zusammenzuführen. Dabei konnte man aus unterschiedlichen Verteilerlisten eine neue Verteilerliste zusammenstellen. Es war nicht nur möglich, Verteilerlisten hinzuzufügen, sondern auch das Ausschließen war eine Option. Man konnte also alle Adressen auswählen, die in Verteiler A und Verteiler B waren, aber nicht in Verteiler C. Das wollen wir mit Access auch nachbilden! Als Voraussetzung haben wir im Beitrag “Selektionen speichern” bereits die Möglichkeit zum Definieren verschiedener Filter und Sortierungen für die gleiche Tabelle geschaffen. Diese wollen wir nun als Basis zum Zusammenstellen darauf aufbauender Listen verwenden.

Weiterlesen

API-Funktionen finden und speichern

Eine umfangreiche Access-Anwendung kann in ihrem VBA-Projekt einige API-Deklarationen enthaltenen. Je länger diese Anwendung bereits entwickelt wird, desto mehr solcher Deklarationen haben sich im Laufe der Zeit in vielen verschiedenen Modulen angesammelt. Und umso mehr dieser APIs werden vielleicht gar nicht mehr verwendet, weil man sie grundsätzlich nicht mehr braucht oder sie durch andere Funktionen oder DLLs ersetzt hat. Daher ist es grundsätzlich interessant, nicht mehr verwendete Deklarationen von API-Funktionen aus der Anwendung zu entfernen. Noch interessanter wird dies, wenn die Migration einer für 32-Bit-Access ausgelegten Anwendung zu einer Anwendung ansteht, die auch unter 64-Bit-Access ihren Dienst tun soll. Je weniger API-Funktionen dann deklariert sind, umso weniger Anpassungen sind notwendig. Im vorliegenden Beitrag schauen wir uns zunächst an, wie Sie die API-Deklarationen und die gegebenenfalls benötigten Konstanten und Typen überhaupt finden.

Weiterlesen

API-Typen und -Konstanten finden und speichern

Im Beitrag “API-Deklarationen finden und speichern” haben wir gezeigt, wie Sie alle API-Deklarationen eines VBA-Projekts finden und sowohl die Daten der API-Funktion als auch die der Parameter in zwei Tabellen speichern. Zu API-Deklarationen gehören jedoch auch einige Konstanten und Typen, die beim Aufruf der API-Funktionen verwendet werden oder als Parameter der Funktionen dienen. Im Sinne des Schaffens einer Möglichkeit zum Migrieren von API-Deklarationen von 32-Bit zu 64-Bit wollen wir auch diese Elemente zunächst in entsprechenden Tabellen speichern, um diese dann per Code anzupassen und in der 64-Bit-Version auszugeben.

Weiterlesen

Verwaiste API-Funktionen finden

Wenn Sie eine größere Anwendung pflegen müssen, kann es hin und wieder sinnvoll sein, nicht mehr verwendete Routinen rauszuwerfen oder zumindest auszukommentieren. Das ist gerade praktisch, wenn Sie die API-Funktionen von 32-Bit auf 64-Bit umstellen wollen: Um hier Arbeit zu sparen, können Sie erst einmal alle API-Funktionen auskommentieren, die nicht mehr benötigt werden. Um verwaisten Routinen zu finden, gibt es verschiedene Möglichkeiten: Sie können dies durch Auskommentieren und Testen von Hand erledigen, ein Tool wie MZ-Tools einsetzen oder auch ein selbst programmiertes Tool. Letzteres könnte der entsprechenden Funktion von MZ-Tools noch einen draufsetzen und auch die Aufrufe aus den Eigenschaften von Formularsteuerelementen oder Abfragen ermitteln.

Weiterlesen

SQL Server-Security, Teil 6: ODBC-Datenquellen und gespeicherte Kennwörter

Die Verbindung von Access zum SQL Server erfolgt in der Regel über ODBC. Hierzu wird vorab eine ODBC-Datenquelle erstellt und unter einem Data Source Name – kurz DSN – gespeichert. Für den Datenzugriff liefert die ODBC-Datenquelle die Bezeichnung des SQL Servers und den Namen der Datenbank. Der Anmeldename und das Kennwort hingegen kommen direkt aus der Access-Applikation. Dabei sind die in Access gespeicherten Anmeldedaten ein nicht zu unterschätzendes Sicherheitsrisiko. Dieser Beitrag beschreibt die Risiken und zeigt Ihnen Mittel und Wege, wie Sie diese vermeiden können.

Weiterlesen

Abhängige Listenfelder

Die Programmierung abhängiger Kombinationsfelder haben wir bereits mindestens einmal behandelt. Hier soll ein Kombinationsfeld nur Werte abhängig von der Auswahl eines anderen Kombinationsfeldes anzeigen, also zum Beispiel die Artikel zu einer vorher gewählten Kategorie. Mit Listenfeldern geht das auch – dazu sind nur wenige Umstellungen nötig. Zumindest, wenn Sie im ersten Listenfeld nur die Auswahl eines Eintrags gleichzeitig erlauben. In diesem Beitrag wollen wir uns nicht nur das anschauen, sondern auch die Anzeige abhängiger Daten bei einem Listenfeld mit Mehrfachauswahl.

Weiterlesen

twinBASIC – VB/VBA mit moderner Umgebung

Wayne Philips ist Access-Entwicklern ein Begriff. Es ist der Erfinder von vbWatchDog, dem Tool für eine professionelle Fehlerbehandlung und er schafft es, .accde-Datenbanken wieder in .accdb-Datenbanken zurückzuverwandeln. Nun kommt sein nächster großer Coup: twinBASIC. Dabei handelt es sich um eine moderne Version der klassischen Programmiersprachen VB6 und VBA. Modern deshalb, weil Sie damit in einer modernen Entwicklungsumgebung arbeiten können statt im angestaubten VBA-Editor, nämlich in VS Code. Und weil es neue Elemente zu diesen Sprachen hinzufügt. Das Ergebnis sind eigenständige Anwendungen, DLLs und mehr. Wir schauen uns in diesem Beitrag an, wie Sie twinBASIC einsatzbereit machen. In weiteren Beiträgen geht es dann in die Details – hier lernen Sie dann, wie Sie beispielsweise eine COM-DLL bauen, die Sie unter Access referenzieren können.

Weiterlesen