Südsturm - die bessere Beispieldatenbank

January 29, 2018 | Author: Anonymous | Category: Ingenieurwissenschaften, Informatik, Datenbank
Share Embed Donate


Short Description

Download Südsturm - die bessere Beispieldatenbank...

Description

Abfragetechnik und SQL Datenzugriff per VBA vereinfachen

Datenzugriff per VBA vereinfachen André Minhorst, Duisburg

Der Datenzugriff etwa per Datensatzgruppe erfordert immer wieder die gleichen Handgriffe: Database-Objekt deklarieren und instanzieren, Recordset-Objekt deklarieren und instanzieren und dann ran an die Daten. Gleiches gilt für das Absetzen von SQL-Anweisungen mit der ExecuteMethode oder für das Ausführen von Parameterabfragen. Wir zeigen, wie Sie sich dies merklich vereinfachen können und noch dazu Code einsparen. CurrentDB ersetzen

Public m_dbs As DAO.Database

Wenn Sie einmal eine typische Datenbank durchsuchen, werden Sie vermutlich zahllose Aufrufe der CurrentDB-Funktion und noch mehr Einsätze der OpenRecordset-Methode des DatabaseObjekts finden. Dies ist – wenn auch meist nicht dramatisch – eine Performance-Bremse. Ein Database-Objekt mit einem Verweis auf die aktuelle Datenbank erzeugt man am besten nur einmal, und dann erst wieder, wenn der Verweis aus irgendeinem Grund verloren geht.

Zweitens benötigen Sie eine Funktion, die den Wert dieser Variablen ausliest und zurückgibt und die Variable gegebenenfalls erst noch füllt:

Die folgenden beiden Zeilen zur Deklaration der Variablen und zum Zuweisen des Database-Objekts sparen Sie künftig ein:

Diese beiden Elemente bringen Sie in einem Standardmodul namens mdlEasyDataAccess unter. Und drittens setzen Sie diese Funktion nun überall ein, wo Sie sonst auf die Variable verwiesen hätten, die einen Verweis auf das Database-Objekt enthält – üblicherweise db genannt. Dies sieht dann für das Öffnen einer Datensatzgruppe so aus:

Dim db As DAO.Database Set db = CurrentDb

Stattdessen verwenden Sie erstens eine öffentliche Variable, die den Verweis auf die aktuelle Datenbank nach seiner Erzeugung speichert:

Function dbs() As DAO.Database If m_dbs Is Nothing Then Set m_dbs = CurrentDB End If Set dbs = m_dbs End Function

Dim rst As DAO.Recordset Set rst = dbs.OpenRecordset("tblArtikel", dbOpenDynaset)

Zusammenfassung Verwenden Sie praktische VBA-Funktionen, um den Datenzugriff zu vereinfachen.

Techniken DAO, SQL, Abfragen

Voraussetzungen Access 97 und höher

Beispieldateien DAOVereinfachen.mdb

Shortlink 574

www.access-im-unternehmen.de

Eine Deklaration und Zuweisung einer DatabaseVariablen – wie oben db – ist nun nicht mehr erforderlich, Sie benötigen nur noch die im oben beschriebenen Standardmodul mdlEasyDataAccess erläuterten Elemente. OpenRecordset ersetzen Als Nächstes räumen wir mit der altehrwürdigen OpenRecordset-Methode auf. Auch wenn das eingefleischten Accesslern längst nicht mehr auffällt, nämlich dass dort IntelliSense nicht richtig Access im Unternehmen 2/2008

39

View more...

Comments

Copyright � 2017 NANOPDF Inc.
SUPPORT NANOPDF