Formulare [basics]: Detailform öffnen und auswerten

Im vorigen Artikel haben wir ein Hauptformular mit einem Unterformular in der Datenblattansicht erstellt. Neue Datensätze wurden direkt in der Datenblattzeile angelegt. Das funktioniert gut für einfache Tabellen, stößt aber schnell an Grenzen, wenn viele Felder zu füllen sind oder Nachschlagefelder und Anlagefelder übersichtlich dargestellt werden sollen. In diesem Artikel erweitern wir das Formular um ein modales Detailformular, das alle Felder der Tabelle tblBuecher komfortabel in der normalen Formularansicht anzeigt.

Weiterlesen

Tabellen [basics]: Eingabe erforderlich/Leere -Zeichenfolge

Beim Aufbau des Datenmodells sind wir an jedem Textfeld an zwei Eigenschaften vorbeigekommen, die eng zusammenhängen und doch ständig verwechselt werden: Eingabe erforderlich und Leere Zeichenfolge. Die erste kennt fast jeder, die zweite steht meist auf ihrem Standardwert, ohne dass jemand darüber nachdenkt. Dabei entscheiden die beiden gemeinsam, welche Zustände ein Feld überhaupt annehmen darf – und ob eine Rechnungsnummer versehentlich „leer, aber vorhanden“ sein kann. Was die beiden Eigenschaften bedeuten, welche vier Kombinationen es gibt und welche Du in der Rechnungsverwaltung wann wählst, liest Du in diesem Artikel.

Weiterlesen

Tabellen [basics]: Indizes in der Praxis

Indizes sind ein wichtiges Werkzeug, um die Performance Deiner Access-Datenbank zu verbessern. Aber nicht jeder Index ist sinnvoll, und zu viele Indizes können sogar bremsen. In diesem Artikel schauen wir uns aus praktischer Sicht an, welche Arten von Indizes es in Access gibt, wo Du sie unbedingt einsetzen solltest und wo Du besser darauf verzichtest. Dabei bauen wir auf den Grundlagen des Artikels Tabellen [basics]: Mit Indizes arbeiten (www.access-basics.de/570) auf und vertiefen das Thema mit konkreten Empfehlungen für die Praxis.

Weiterlesen

Formulare [basics]: Forms öffnen mit DoCmd.OpenForm

Access-Anwendungen brauchen Formulare für die Interaktion mit dem Benutzer. Aber wie öffnet man ein solches Formular überhaupt Klar, das funktioniert zwar mit einem Doppelklick auf den Namen des jeweiligen Formulars im Navigationsbereich. Aber diesen sollten der Benutzer im Optimalfall überhaupt nicht sehen, denn sonst könnte er auch direkt auf die Inhalte von Tabellen zugreifen – und dazu soll er eigentlich die an die Tabellen gebundenen Formulare nutzen. Wir müssen also eine alternative Möglichkeit schaffen, damit der Benutzer die Formulare öffnen kann. Diese soll möglichst flexibel sein und es auch einmal erlauben, Informationen wie einen Filter zu übergeben oder ob das zu öffnende Formular einen neuen, leeren Datensatz anzeigen soll. Das Schweizer Taschenmesser für diesen Fall ist die Methode OpenForm der DoCmd-Klasse. Damit können wir Formulare in verschiedenen Ansichten öffnen, Parameter übergeben, Filter setzen oder auch den Datenbearbeitungsmodus einstellen.

Weiterlesen

Formulare [basics]: Schaltflächen programmieren

Wenn wir von der Programmiersprache VBA in Zusammenhang mit Access-Formularen reden, geht es sehr oft um den Code, der durch das Anklicken einer Schaltfläche ausgelöst wird. Damit können wir einem Formular die Funktionen hinzufügen, die für das Verarbeiten der enthaltenen Daten benötigt werden. In manchen Fällen handelt es sich um das einfache Schließen des Formulars, in anderen soll ein Klick auf eine Schaltfläche vielleicht ein anderes Formular öffnen, das die Details zu einem aus einer Liste ausgewählten Datensatz liefert. Dieser Artikel zeigt die Grundlagen zur Programmierung von Schaltflächen per VBA.

Weiterlesen

Optionen im VBA-Editor

Nachdem wir uns in der Artikelreihe Access-Optionen alle Optionen von Access selbst angeschaut haben, werfen wir in diesem Artikel einen Blick auf die Optionen des VBA-Editors. Dieser Bereich ist, wenn Sie bereits einmal mit Visual Studio gearbeitet haben, ziemlich rudimentär. Das liegt daran, dass VBA einen sehr begrenzten Einsatzbereich hat – nämlich die Office-Anwendungen mit VBA zu programmieren. Dennoch gibt es einige sehr interessante Optionen, von denen Sie zumindest eine nach der Installation von Access genau ansehen sollten – mehr dazu im vorliegenden Artikel.

Weiterlesen

Reflexive Daten in Tabellen verwalten

Unter einer reflexiven Beziehung versteht man eine solche Beziehung, bei der man die Datensätze einer Tabelle den Datensätzen der gleichen Tabelle unterordnen kann. Damit kann man dann beispielsweise Kategorien mit beliebig vielen Unterkategorien abbilden. Um solche Daten zu verwalten, gibt es im Wesentlichen zwei verschiedene Arten: Entweder man fügt der Tabelle selbst ein Feld hinzu, mit dem man festlegen kann, welchem anderen Datensatz der aktuelle Datensatz untergeordnet ist. Oder man realisiert die reflexive Beziehung über eine externe Tabelle. Wir schauen uns an, wie Sie diese beiden Varianten realisieren können.

Weiterlesen

XML-Dokumente mit VBA lesen

Wir haben nun in einigen Artikeln beschrieben, welche Möglichkeiten die Bordmittel von Access für das Lesen und Schreiben von XML-Dokumenten bieten. Richtig flexibel ist das ganze natürlich nicht beziehungsweise nur, wenn Sie mit XSL nachhelfen. Wenn es beim Einlesen von XML-Dokumenten richtig individuell werden soll, können Sie aber immer noch mit VBA arbeiten. Dazu benötigen Sie nur einen Verweis auf die Objektbibliothek mit den Befehlen zum Bearbeiten von XML-Dokumenten – und das Know-how aus diesem Artikel.

Weiterlesen

Handyverwaltung IV: Verträge und SIM-Karten

Im vierten Teil der Artikelreihe zum Thema „Handyverwaltung“ setzen wir die Arbeit an den Formularen der Lösung fort. Diesmal fügen wir die Formulare zum Verwalten gleich zweier Objekttypen hinzu: für die Verträge und die SIM-Karten. Die Verträge und die SIM-Karten stehen in einem 1:n-Verhältnis, wobei wir jedem Vertrag mehrere SIM-Karten zuordnen können wollen. Sehen Sie selbst, wie dies umgesetzt wird!

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