Datensätze mit Anlagefeld kopieren

Zum Kopieren von Datensätzen aus einer Tabelle in die nächste gibt es verschiedene Varianten. Zunächst einmal gibt es die grobe Aufteilung von Methoden, die rein mit den Befehlen der DAO-Bibliothek auskommen – also solche, die ein Recordset referenzieren oder anlegen und dann die einzelnen Felder füllen. Dann stehen noch die Aktionsabfragen von SQL zur Verfügung, die wiederum über eine Methode der DAO-Bibliothek aufgerufen werden, aber ganz andere Möglichkeiten bieten als AddNew, Edit und Update. Und dann kommen mit Access 2007 noch die Anlagefelder hinzu, die eine eigene hintergelagerte Tabelle zum Speichern ihrer Daten verwenden. Der vorliegende Artikel stellt die verschiedenen Möglichkeiten zum Kopieren von Datensätzen mit Anlagefeldern vor.

Weiterlesen

Wiederherstellungspunkt für Daten

Während Sie eine Datenbank entwickeln, geben Sie Beispieldaten ein, testen die neu hinzugefügten Formulare und VBA-Prozeduren anhand dieser Daten, prüfen das Ergebnis und stellen die Beispieldaten gegebenenfalls wieder her, um weitere Tests mit geänderten Prozeduren durchzuführen. Bei komplizierteren Prozeduren kann dies einige Iterationen in Anspruch nehmen und das manuelle Bereitstellen der Testdaten wird zu einer hinderlichen und zeitraubenden Prozedur. Zu diesem Zweck stellen wir im vorliegenden Beitrag Techniken vor, mit denen Sie per Knopfdruck alle Daten aus definierten Tabellen sichern und diese mit einem weiteren Knopfdruck wiederherstellen.

Weiterlesen

Kontextmenüs in modalen Dialogen

Kontextmenüs sind erstklassige Helfer, wenn man an Ort und Stelle Funktionen zur Verfügung stellen möchte. Kontextmenüs lassen sich auch in modalen Dialogen anzeigen. Auf merkwürdige Weise funktionieren diese aber nicht mehr, das heißt, die angegebene VBA-Funktion wird nicht mehr ausgeführt. Dieser Beitrag zeigt, wie Sie auch die Kontextmenübefehle in modalen Dialogen mit Leben füllen.

Weiterlesen

Rich-Text ab Access 2007

Mit Access 2007 hat Access die Möglichkeit eingeführt, Rich-Text in Memofelder einzugeben. Diese Neuerung ist insofern beachtenswert, als dass es nicht um das üblicherweise mit der Dateiendung .rtf abgekürzte Format geht, sondern eine abgespeckte HTML-Variante. Außerdem ist interessant, dass auf diese Weise formatierte Inhalte von Memofeldern sowohl in Formularen als auch in Berichten korrekt angezeigt werden. Dieser Beitrag zeigt, wie Sie mit der Access-Version von Rich-Text arbeiten.

Weiterlesen

Lösch- und Kopierreihenfolge für Tabellen

Bei der einen oder anderen Gelegenheit werden Sie die Daten von Tabellen von einer Datenbank zur nächsten kopieren wollen oder einfach den Inhalt aller Tabellen löschen. Wenn die Tabellen mit referenziellen Beziehungen versehen sind, ist sowohl das Kopieren als auch das Löschen der enthaltenen Daten nicht trivial: Sie müssen nämlich in beiden Fällen in einer bestimmten Reihenfolge vorgehen. Beim Löschen müssen Sie erst alle verknüpften Daten aus der Detailtabelle einer Beziehung entfernen, bevor Sie die Daten der Mastertabelle löschen können. Beim Kopieren sind hingegen erst die Daten in den Mastertabellen einzufügen, bevor Sie die Detailtabellen samt Fremdschlüsselfeldinhalt füllen können.

Weiterlesen

Geänderte Daten archivieren

Das Ändern von Daten ist in manchen Fällen an der Tagesordnung – zum Beispiel bei Kundendaten. Wenn Sie in einer Datenbank Kunden verwalten, die nicht nur für einen einzigen Auftrag oder eine einzige Bestellung angelegt werden, sondern mit denen Sie wiederkehrend geschäftlichen Kontakt haben, müssen Sie die Adressdaten auf dem aktuellen Stand halten. Kein Problem: Die entsprechenden Felder lassen sich ja schnell mal überschreiben. Das Problem ist nur, dass hier auch Fehler geschehen. Wenn Sie beispielsweise beim falschen Michael Müller die Lieferadresse ändern, freut sich ein Michael Müller über eine Lieferung, aber der andere, der nichts bestellt hat, wird die Rechnung wohl nicht bezahlen. Und wenn sich solche Fehler nur schwer verhindern lassen, so sollen Sie zumindest die Adressdaten schnell wiederherstellen können …

Weiterlesen

Exklusives Öffnen von Datenbanken

Access bietet die Mögichkeit, Datenbanken in einem exklusiven Modus zu öffnen. Dieser Modus ist vor allem für bestimmte Operationen wie etwa das Komprimieren einer Datenbankdatei nötig. Rund um das exklusive Öffnen von Datenbanken gibt es jedoch noch eine Reihe weiterer wichtiger Informationen, die Sie in diesem Beitrag erhalten. Dazu gehören zwei VBA-Funktionen, mit denen Sie zum Beispiel prüfen können, ob eine Datenbank exklusiv geöffnet ist oder ob Sie diese im exklusiven Modus öffnen können.

Weiterlesen

Stücklisten, Teil I

Stücklisten dienen dazu, die Einzelteile eines Objekts strukturiert darzustellen. Strukturiert bedeutet dabei, dass die Einzelteile jeweils zu Baugruppen zusammengefasst werden. Ein Objekt besteht also aus Baugruppen und/oder Einzelteilen, wobei jede Baugruppe wieder aus Baugruppen und/oder Einzelteilen besteht – bis am Ende jede Baugruppe in ihre Einzelteile aufgelöst ist. Einzelteile sind die kleinsten Einheiten in der Stückliste, sie können nicht weiter aufgeteilt werden.Dieser Beitrag soll zeigen, wie Sie Stücklisten mit Access verwalten. Dabei spielt das TreeView-Steuerelement eine große Rolle.

Weiterlesen

Textdateien vergleichen

Als ich bei verschiedenen Projekten die gleichen Module und Formulare einsetzte und diese unabhängig voneinander anpasste, hatte ich plötzlich verschiedene Versionen der Objekte. Das war nicht beabsichtigt, die Objekte sollten möglichst überall gleich aussehen. Um keinen der Entwicklungsschritte zu verlieren, musste ich den Code der Objekte vergleichen. Dummerweise bietet Access keine eingebaute Funktion für so etwas, also musste ich mich selbst an die Arbeit machen und eine entsprechend Lösung programmieren. Diese sollte schlicht und einfach zwei Textdateien Zeile für Zeile miteinander vergleichen und mir die unterschiedlichen Zeilen anzeigen.

Weiterlesen

Objekt- und Feldnamen per Kontextmenü

Kennen Sie das auch Sie konzentrieren sich gerade mal wieder voll auf die Programmierung einer Prozedur und wollen eine SQL-Anweisung zusammenstellen. Dummerweise fällt Ihnen der Name der Tabelle und/oder des Feldes nicht ein, das Sie dort verwenden möchten. Also wechseln Sie zum Access-Fenster, ermitteln dort den gesuchten Namen und kehren wieder zum VBA-Editor zurück. Dort ergänzen Sie dann die gesuchte Anweisung. Damit ist jetzt Schluss: Dieser Beitrag stellt nämlich eine einfache Lösung vor, mit der Sie die Namen aller Tabellen, Abfragen und Felder ganz einfach per Kontextmenü nachschlagen und zum Code hinzufügen können.

Weiterlesen