SQL ausführen mit Execute statt DoCmd.RunSQL

In unseren Audits mit unseren Kunden und Lesern untersuchen wir auch regelmäßig den VBA-Code in deren Access-Anwendungen. Dabei fallen uns immer wieder Programmiergewohnheiten auf, die irgendwann einmal eingeführt und seitdem nie wieder geändert wurden. Eine davon ist, SQL-Anweisungen wie INSERT INTO, UPDATE oder DELETE mit der Methode RunSQL der DoCmd-Klasse auszuführen. Das ist grundsätzlich nicht falsch, solange dies zum Ziel führt. Es gibt jedoch noch mindestens eine Alternative, insbesondere den Aufruf mit der Execute-Methode der Database-Klasse. Diese führt zwar auch nur die übergebene Aktionsabfrage aus, aber sie bietet dennoch einige Vorteile gegenüber DoCmd.RunSQL. Welche das sind und wie wir überhaupt die DoCmd.RunSQL-Methode durch die Execute-Methode ersetzen können, zeigen wir in diesem Beitrag.

Weiterlesen

ODBCDirect durch die Hintertür

Haben Sie ihr Backend in ein DBMS ausgelagert, also die Tabellen auf einen SQL-Server migriert, so steht Ihnen ab Access 2007 nur noch die Schnittstelle ADODB zur Verfügung, um unter VBA auf sie zuzugreifen, falls Sie sich nicht nur auf verknüpfte Tabellen beschränken möchten. Denn die Technologie ODBCDirect, mit der man direkt eine Verbindung zum Server aufbauen konnte, wurde ersatzlos gestrichen. Mit einem Trick schlagen Sie Microsoft jedoch ein Schnippchen!

Weiterlesen

Zugriff auf Daten in Formularen und Steuerelementen

Immer wieder tauchen in Foren und Newsgroups Fragen auf, wie man auf die in den Formularen und deren Steuerelementen enthaltenen Daten zugreifen kann. Dieser Beitrag soll die für den Zugriff notwendigen Techniken vorstellen und behandelt dabei nicht nur einfache Steuerelemente, sondern auch Kombinationsfelder, Listenfelder oder in Unterformularen enthaltene Daten.

Weiterlesen

Temporäre Datenbanken

Sicherlich kennen Sie auch die Situation, dass Sie häufig verwendete statische Daten wie zum Beispiel Einträge für Kombinationslistenfelder oder Listenfelder aus Tabellen erhalten, die im Backend gespeichert sind. Sollte sich das Backend dann auch noch auf einem Server befinden, kann sich das Öffnen etwas verzögern. Lernen Sie in diesem Artikel die Vorzüge der Verwendung von temporären Datenbanken kennen.

Weiterlesen

Disconnected Recordsets

Konfigurationsdaten, Meldungen oder SQL-Befehle kann man in passenden Tabellen speichern und bei Bedarf per DLookup oder DAO auf diese zugreifen. Da diese Daten sich in der Regel nur selten ändern, kann man sie getrost einmal zu Beginn der Session auslesen und dann auf die temporär gespeicherten Daten zugreifen. Das spart Ressourcen und erhöht die Zugriffsgeschwindigkeit – dank ADO und Disconnected Recordsets.

Weiterlesen

DAO, Teil 1: Database- und Recordset-Objekt

Die Bibliothek DAO (Data Access Objects) liefert dem VBA-Entwickler alles, was er für den Zugriff auf die in einer Datenbank enthaltenen Daten benötigt. Darüber hinaus offeriert diese Bibliothek Funktionen zum Bearbeiten des Tabellenentwurfs oder für den Zugriff auf Abfragen. Access im Un-ternehmen stellt die wichtigsten Techniken dieser Bibliothek vor.

Weiterlesen