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

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

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

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

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

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

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

Mit Ordnern und Dateien im TreeView arbeiten, Teil 2

Im ersten Teil dieses Beitrags haben wir die Grundlagen für die Arbeit mit Ordnern und Dateien im TreeView-Steuerelement gelegt: Ordner und Dateien im Explorer anzeigen und öffnen, das Ermitteln des Pfades über die Tabellen-IDs, Kontextmenüs für Ordner- und Datei-Elemente sowie die vollständige Implementierung der Ordner-Operationen Kopieren, Ausschneiden, Einfügen, Umbenennen und Löschen. Im vorliegenden zweiten Teil ergänzen wir die noch fehlenden Datei-Operationen und erörtern die Funktionen im Modul „mdlDateisystem“, welche die TreeView-Änderungen tatsächlich auf das Dateisystem übertragen.

Weiterlesen

Die DBEngine-Klasse der DAO-Bibliothek

Wer in Access per VBA auf Datenbanken zugreift, nutzt meist die DAO-Bibliothek – oft ohne zu wissen, dass am Anfang der gesamten Objekthierarchie die „DBEngine“ steht. Sie repräsentiert die Datenbank-Engine selbst und bietet Zugriff auf Arbeitsbereiche, Verbindungen und globale Einstellungen. Dieser Beitrag stellt die wichtigsten Eigenschaften und Methoden der DBEngine-Klasse vor und zeigt anhand praktischer Beispiele, wie Sie diese gewinnbringend einsetzen.

Weiterlesen

Detailformular und Datenblatt mit ADODB-Recordset

Access bietet von Haus aus eine komfortable Datenbindung für Formulare: Man trägt eine Tabelle oder Abfrage als Datensatzquelle ein, bindet die Steuerelemente über ihren Steuerelementinhalt an Felder – und Access erledigt den Rest. Wer jedoch sicherstellen möchte, dass seine Tabellen nicht von außen ausgelesen werden können, darf keine Tabellen oder Tabellenverknüpfungen mehr im Frontend haben. Wir müssen uns also nach einer Alternative umsehen. Dazu entfernen wir alle kritischen Elemente aus dem Frontend und bauen die Formulare um. Aber wie greifen wir auf die Daten zu? Dazu nutzen wir die Recordset-Eigenschaft von Formularen und Steuerelementen. Diese können ein per VBA zusammengestelltes Recordset nutzen. In diesem ersten Teil zeigen wir, wie das mit einfachen Detailformularen und in der Datenblattansicht funktioniert. Danach bauen wir unser Wissen aus und beschäftigen uns mit Haupt- und Unterformularen und Steuerelementen wie dem Kombinations- und dem Listenfeld.

Weiterlesen