VBA-Module regelmäßig sichern per COM-Add-In

Wer viel in VBA programmiert, kennt den Schreck: Ein Absturz von Access, und die Arbeit der letzten halben Stunde ist weg. Natürlich kann man von Hand speichern – aber genau das vergisst man im Eifer des Gefechts. In diesem Beitrag bauen wir uns einen fleißigen Helfer, der uns diese Sorge abnimmt: ein COM-Add-In für den Access-Entwickler, das in einstellbaren Abständen alle geänderten Formulare, Berichte und Module automatisch in einzelne Textdateien sichert. So haben wir immer eine frische Kopie unseres Codes zur Hand, ganz ohne daran zu denken.

Weiterlesen

Filter speichern und wieder hervorholen

Bis jetzt kann unser Filterformular schon eine ganze Menge: Man klickt sich seine Suchbedingungen zusammen und sieht sofort nur noch die passenden Datensätze. Doch sobald man das Formular schließt, ist der mühsam eingestellte Filter wieder weg. Wer denselben Filter morgen erneut braucht, muss alles noch einmal eintippen. Das ändern wir jetzt. In diesem Teil bringen wir dem Filterformular bei, einen fertigen Filter unter einem Namen zu speichern und ihn später mit einem Klick wieder hervorzuholen.

Weiterlesen

Filterformular erweitern: Kombinationsfelder

In den ersten beiden Teilen dieser Beitragsreihe haben wir ein universell einsetzbares Filterformular vorgestellt und seine Programmierung beleuchtet. Bisher bietet das Formular für Vergleichswerte schlicht ein Textfeld an. Bei einem Feld wie „AnredeID“ oder „KategorieID“, das im aufrufenden Formular über ein Kombinationsfeld dargestellt wird, muss der Benutzer aber die nackte Zahl kennen, nach der er filtern will – wenig komfortabel. In diesem Teil erweitern wir das Filterformular so, dass es solche Lookup-Felder erkennt und im Vergleichsfeld dieselbe Auswahlliste anbietet wie das Originalformular.

Weiterlesen

Gebundene abhängige Kombinationsfelder

Im Beitrag „Abhängige Kombinationsfelder“ (www.access-im-unternehmen.de/****) haben wir beschrieben, wie wir per 1:n-Beziehung verknüpfte Daten in zwei aufeinanderfolgenden Kombinationsfeldern erst filtern und dann auswählen können. Im vorliegenden Beitrag gehen wir einen Schritt weiter und schauen uns an, wie wir abhängige Kombinationsfelder in gebundenen Formularen darstellen. In Formularen in der Einzelansicht gelingt dies ohne Probleme. In der Endlosansicht und der Datenblattansicht stoßen wir jedoch auf Einschränkungen, die wir mehr oder weniger gut umgehen können. Wie das gelingt, lesen Sie ebenfalls in diesem Beitrag.

Weiterlesen

Abhängige Kombinationsfelder

Ein Kombinationsfeld mit hunderten Einträgen ist mehr Last als Hilfe. Wählt der Benutzer aber zuerst eine Kategorie, lässt sich die Liste im zweiten Feld auf eine überschaubare Handvoll eindampfen. Genau das leisten abhängige Kombinationsfelder: Die Auswahl im ersten Feld bestimmt, was im zweiten zur Verfügung steht. Wie das gelingt – vom einfachen Grundgerüst bis zu den Feinheiten, die im Alltag den Unterschied machen -, zeigt der vorliegende Beitrag.

Weiterlesen

Access-Infos per COM-Add-In anzeigen

Im Beitrag „Access: Version und Architektur einfach ermitteln“ (www.access-im-unternehmen.de/1606) haben wir die neuen SysCmd-Konstanten zum Abfragen von Access-Version und Access-Architektur vorgestellt. Dort haben wir auch gezeigt, wie wir diese Informationen übersichtlich in einem Formular darstellen können. Im vorliegenden Beitrag erstellen wir nun ein COM-Add-In, das den Dateibereich von Access erweitert und dort die verschiedenen Versionsinformationen, die Architektur und den aktuellen Update-Kanal von Access anzeigt. Außerdem liefern wir dort auch gleich noch den aktuellen Datenbankpfad und eine Möglichkeit, diesen in die Zwischenablage zu kopieren.

Weiterlesen

Formulare zoomen in Access

Allen Unkenrufen zum Trotz: Microsoft Access wird immer noch weiterentwickelt. Vor kurzem wurde ein neues Feature veröffentlich, das nun schrittweise ausgerollt wird: Eine Zoom-Funktion für Datenblattansichten von Tabellen und Abfragen und von Formularen in der Formularansicht! In diesem Beitrag schauen wir uns die neue Funktion an. Wir zeigen, wie die Zoom-Funktion genutzt werden kann und welche Limitierungen sie noch hat.

Weiterlesen

Ein Filterformular für alle Fälle: Die Programmierung

Im ersten Teil dieser Beitragsreihe haben wir gezeigt, wie das Filterformular in eine eigene Datenbank eingebaut und bedient wird. In diesem zweiten Teil werfen wir einen Blick hinter die Kulissen: Wie ist das Filterformular aufgebaut, wie erkennt es den Feldtyp aus dem Recordset, wie baut es den SQL-WHERE-String zusammen, wie funktioniert die dynamische Höhenanpassung – und welche technischen Besonderheiten mussten gelöst werden. Einige dieser Lösungen sind nicht auf den ersten Blick offensichtlich, liefern aber wertvolle Denkanstöße für eigene Projekte.

Weiterlesen

Filterformular für alle Fälle: Einbau und Bedienung

Access bietet von Haus aus komfortable Möglichkeiten zum Filtern von Datensätzen – über das Ribbon, das Dropdown-Menü im Spaltenkopf des Datenblatts oder über eigene Filtereigenschaften des Formulars. Diese Lösungen stoßen jedoch schnell an ihre Grenzen, sobald man komplexere Filterbedingungen kombinieren möchte oder dem Benutzer eine moderne, übersichtliche Filteroberfläche bieten will. Wir stellen in dieser zweiteiligen Beitragsreihe ein universell einsetzbares Filterformular vor, das sich mit wenigen Handgriffen in jedes bestehende Formular einbauen lässt. Im ersten Teil zeigen wir, wie das Filterformular eingebaut und bedient wird. Der zweite Teil beleuchtet die Programmierung hinter den Kulissen.

Weiterlesen

Filtern und Sortieren von Formularen mit Recordset

Im ersten Teil dieser Beitragsreihe („Detailformular und Datenblatt mit ADODB-Recordset“, www.access-im-unternehmen.de/1601) haben wir gezeigt, wie man ein Formular per VBA-Code an ein ADODB-Recordset bindet. Dabei sind wir auf ein grundlegendes Problem gestoßen: Die eingebauten Sortier- und Filterfunktionen von Access – sowohl im Ribbon als auch im Dropdown-Menü des Datenblatt-Spaltenkopfes – funktionieren bei ADODB-gebundenen Formularen nicht. In diesem Beitrag zeigen wir, wie wir diese Funktionen mit eigenen Mitteln vollständig nachbauen.

Weiterlesen