COM-DLLs mit twinBASIC

Bisher haben wir COM-DLLs entweder mit Visual Studio 6 erstellt oder mit Visual Studio .NET. Mit twinBASIC kommt nun eine weitere Möglichkeit hinzu. twinBASIC ist noch in der Entwicklung, aber Sie können damit durchaus bereits lauffähige COM-DLLs bauen. Dieser Beitrag zeigt, wie Sie das Beispiel-COM-DLL des Entwicklers von twinBASIC, Wayne Philips, verwenden und wie Sie eigene Funktionen hinzufügen.

Weiterlesen

Debugging in twinBASIC

Der Entwickler von twinBASIC, Wayne Philips, ist vor allem für sein Fehlerbehandlungstool vbWatchDog bekannt. Kein Wunder, dass er bei der Programmierung der Entwicklungsumgebung darauf geachtet hat, dass ausreichende Debugging-Möglichkeiten vorhanden sind. Wie Sie diese nutzen, zeigt der vorliegende Beitrag. Dabei lernen Sie die verschiedenen Bereiche wie Variablen, Überwachen, Aufrufliste, Haltepunkte und den Debug-Bereich kennen.

Weiterlesen

twinBASIC – COM-Add-Ins für Access

Neben COM-DLLs können Sie mit twinBASIC auch COM-Add-Ins programmieren, deren Funktionen dann in der Benutzeroberfläche von Access angezeigt und genutzt werden können. Die Möglichkeiten sind unbegrenzt – Sie können damit beispielsweise Ribbon-Einträge hinzufügen, die dauerhaft und unabhängig von der jeweils geöffneten Datenbank verfügbar sind und damit selbst programmierte Funktionen aufrufen. Welche Funktionen sinnvoll sind und sich hier umsetzen lassen, schauen wir uns in weiteren Beiträgen an. Dieser Beitrag beleuchtet zunächst einmal die technischen Grundlagen für die Erstellung von COM-Add-Ins für die Access-Benutzeroberfläche.

Weiterlesen

twinBASIC: COM-Add-Ins für den VBA-Editor

Neben COM-Add-Ins für Access selbst (und natürlich auch für die übrigen Office-Anwendungen) können Sie mit twinBASIC auch COM-Add-Ins für den VBA-Editor programmieren. Dieser Beitrag beleuchtet detailliert, welche Schritte dazu notwendig sind. Dabei beginnen wir mit einer COM-Add-In-Vorlage, die wir für unseren Anwendungszweck anpassen. Anders als bei COM-Add-Ins für Access können Sie die Funktionen von COM-Add-Ins für den VBA-Editor nicht per Ribbon-Eintrag aufrufen, sondern benötigen einen Menüleisteneintrag dafür. Darum kümmern wir uns ebenso wie darum, wie Sie auf die Elemente des VBA-Editors zugreifen.

Weiterlesen

VBA ParamArray-Auflistungen

Wenn Sie unter VBA eine Prozedur oder eine Funktion definieren, enthält diese immer eine feste Anzahl von Parametern. Diese können Sie auch als optional deklarieren, sodass tatsächlich weniger Werte übergeben werden als Parameter vorhanden sind. Was aber, wenn Sie den Spieß einmal umdrehen und mehr Werte als vorhandene Parameter übergeben wollen – und das auch noch flexibel Dann kommt die ParamArray-Auflistung ins Spiel. In diesem Beitrag schauen wir uns an, was Sie damit machen können.

Weiterlesen

Auflistungszeichen aus Textdateien ersetzen

Wenn Sie die Daten aus Textdateien oder ähnlichen Datenquellen einlesen möchten, benötigen Sie ein Trennzeichen, welches die einzelnen Spalten einer Zeile trennt. Das ist meist durch ein Tabulator-Zeichen, das Semikolon oder das Komma gegeben. Beim Tabulator-Zeichen treten meist keine Probleme auf, aber beim Semikolon oder beim Komma kann es zu folgendem Problem kommen: Die Zeile könnte Spalten enthalten, die ihrerseits das als Trennzeichen verwendete Zeichen enthalten. In diesem Beitrag schauen wir uns an, wie Sie mit solchen Datenquellen unter VBA umgehen können.

Weiterlesen

.accdb läuft, .accde aber nicht

Haben Sie das schon einmal erlebt Sie haben Ihre Anwendung fertig programmiert und alles läuft einwandfrei. Sie müssen nur noch die Kompilierung in eine .accde-Datenbank vornehmen, damit der Kunde keinen Zugriff auf den Quellcode hat. Auch das gelingt ohne Probleme. Kaum starten Sie die .accde-Datenbank, geht jedoch plötzlich nichts mehr: Es funktionieren einfach keine Ereignisprozeduren mehr, und falls vorhanden, meckert auch das Ribbon, dass es seine Callback-Funktionen nicht mehr ausführen kann. Was ist hier geschehen und wie lösen wir das Problem Das zeigen wir in diesem Artikel.

Weiterlesen

Das AutoKeys-Makro

Makros sind unter Microsoft Access eine stiefmütterlich behandelte Objektart. In der Tat ist die Programmierung einer Datenbank mit VBA wesentlich flexibler und mächtiger. Allerdings gibt es Anwendungszwecke, die sich mit VBA nicht abdecken lassen. Hier kann man auf zwei spezielle Makros zugreifen: Das AutoExec-Makro wird beim Start einer Anwendung aufgerufen und kann zum Anstoßen von Aktionen verwendet werden, die beim Start benötigt werden. Das AutoKeys-Makro nimmt die Definition von Tastenkombinationen auf, die während des Betriebs der jeweiligen Access-Anwendung zur Verfügung stehen. Das letztere Makro schauen wir uns in diesem Beitrag im Detail an.

Weiterlesen

Tastenkombinationen mit AutoHotKeys

Access bietet einige Tastenkombinationen, mit denen sich die wichtigsten Aufgaben schnell erledigen lassen. Manche Tastenkombination wurde aber über die Jahre geändert – zum Beispiel können Sie seit einigen Access-Versionen nicht mehr mit der Tastenkombination Strg + Tab zwischen den aktuell geöffneten Access-Objekten wechseln. Stattdessen erledigen Sie diese Aufgabe nun mit der Tastenkombination Strg + F6. Eine Kombination, für nur für Menschen mit halbwegs großen Händen mit einer Hand greifbar ist. Da man während der Entwicklung gern einmal von einem Objekt zum nächsten wechselt und Strg + Tab sehr gut dafür geeignet war, wollen wir diesen Zustand wiederherstellen. Wie das gelingt und warum die Bordmittel von Access dafür nicht ausreichen, zeigt dieser Beitrag.

Weiterlesen

.accde-Datenbank per VBA erstellen

Das Erstellen einer .accde-Datenbank mit den Mitteln der Benutzeroberfläche von Access ist einfach. Was aber, wenn Sie diesen Vorgang automatisieren wollen – beispielsweise, weil Sie regelmäßig per Mausklick .accde-Datenbanken aus Ihrer Entwicklungsdatenbank erzeugen wollen, um diese zum Kunden weiterzugeben VBA sieht keinen dokumentierten Befehl für diesen Zweck vor. Glücklicherweise gibt es Google, und dort haben wir eine undokumentierte Funktion gefunden, mit der Sie genau die gewünschte Aufgabe erledigen können.

Weiterlesen