Mehrere Instanzen eines Formulars

Die meisten Anwendungen zeigen, wie Sie aus einer Liste von Datensätzen einen per Doppelklick öffnen und in einem Detailformular anzeigen. Nach dem Bearbeiten schließen Sie diesen und wenden sich dem nächsten Datensatz zu. Was aber, wenn Sie einmal mehrere Datensätze parallel anzeigen möchten, um diese beispielsweise zu vergleichen – oder weil Sie einfach den einen Datensatz später noch einmal weiterbearbeiten möchten. Dieser Artikel zeigt Ihnen, wie Sie dieses Verhalten mit Access-Formularen abbilden können.

Weiterlesen

Detailformular öffnen und abfragen

Wenn Sie von einem übersichtsformular oder einem Listenfeld- oder Kombinationsfeld eines Formulars ein Detailformular öffnen, um einen der Datensätze aus der übersicht oder einer Liste im Detail anzuzeigen, lässt sich das mit einem Einzeiler programmieren. Kniffliger wird es, wenn Sie in dem Detailformular änderungen vornehmen oder gar einen anderen Datensatz auswählen und die änderungen oder die Auswahl in das aufrufende Formular übernehmen wollen. Wir stellen zwei Techniken vor – die gängige und eine nicht so oft verwendete, aber grundsätzlich bessere Technik.

Weiterlesen

Alle Ereignisse im Hauptformular

Wenn Sie mit Haupt- und Unterformularen arbeiten und Ereignisprozeduren sowohl in der Code behind-Klasse des Haupt- und des Unterformulars angelegt haben, kann es manchmal unübersichtlich werden. Das ist vor allem dann der Fall, wenn Ereignisse im Unterformular sich auf die Abläufe im Hauptformular auswirken. Dieser Artikel zeigt, wie Sie die Ereignisse, die durch ein Unterformular ausgelöst werden, im Klassenmodul des Hauptformulars implementieren. Damit können Sie Ereignisse, Objekte und Variablen in nur noch einem Modul nutzen.

Weiterlesen

Selektion im Datenblatt

Im Listenfeld kann man mit den Einstellungen Mehrfach oder Erweitert auch leicht mehrere Datensätze auswählen. Was aber ist, wenn man diese Funktion in der Datenblattansicht bereitstellen will Klar, anklicken kann man die einzelnen Datensätze, man kann auch mehrere zusammenhängende Datensätze markieren – aber was ist, wenn Sie beispielsweise den ersten, dritten und fünften Datensatz in der Datenblattansicht markieren wollen Dann hilft nur ein spezieller Trick, den wir in diesem Artikel vorstellen.

Weiterlesen

Individuelle Auswahl mit eigener Tabelle

In den beiden Artikeln Datensätze individuell auswählen (Ausgabe 10/2012) und Selektion im Datenblatt (aktuelle Ausgabe) nutzen wir ein zusätzliches Feld in der betroffenen Tabelle, um Datensätze individuell auswählen zu können. Die Methode ist sehr praktisch, kommt jedoch an ihre Grenzen, wenn Sie keinen Zugriff auf die betroffene Tabelle haben. Das kann passieren, wenn sich diese in einem Backend befindet, dessen Daten Sie nicht ändern können, weil Sie keinen Zugriff haben oder keine Berechtigung. Ein weiterer wichtiger Grund, die Selektionsdaten in einer eigenen Tabelle zu speichern, sind Mehrbenutzeranwendungen. Da bietet es sich an, die Daten bezüglich der Ansicht im Frontend zu speichern.

Weiterlesen

Tastensteuerung abfangen

Nicht immer sind die Steuerungen, die Access über zahlreiche Tasten und Tastenkombinationen ermöglicht, auch wirklich erwünscht. Anwender kennen diese oft gar nicht und sind dann manchmal über Reaktionen der Oberfläche irritiert, die durch versehentliche Anschläge zustande kamen. Unter Umständen kann es auch zu Datenverlust kommen. Wir stellen dar, wie Sie dem Problem mit unterschiedlichen Ansätzen beikommen können.

Weiterlesen

Datenbankereignis beim Schließen

Access bietet die Möglichkeit, beim Start ein Makro namens AutoExec auszuführen oder ein als Startformular angegebenes Startformular anzuzeigen. Damit lassen sich gleich bei Start notwendige Aktionen durchführen. Beim Schließen einer Datenbank sieht es anders aus: Hier stellt Microsoft keine eingebaute Möglichkeit bereit, um abschließende Arbeiten durchzuführen. Dazu gehört beispielsweise das Speichern von während der Benutzung geänderten Konfigurationsdaten. Dieser Artikel zeigt, wie Sie diese Funktion nachrüsten.

Weiterlesen