Direktzugriff auf Tabellen und Felder

Dies war die Leseprobe dieses Artikels.
Melden Sie sich an, um auf den vollständigen Artikel zuzugreifen.

Bitte geben Sie die Zahlenfolge in das nachfolgende Textfeld ein

Die mit einem * markierten Felder sind Pflichtfelder.

  • Verblüffende und geniale Idee - mit kleinem Haken?

    Grundsätzlich finde ich die Idee mit dem Tabellen-Klassengenerator und der Auto-Instanziierung der Zugriffsobjekte mit dem VB_PredeclaredId-Attribut (den Trick kannte ich noch nicht) echt genial und vor allem ungmein nützlich in der Praxis.

    Mein einziges Bedenken resultiert aus der Tatsache, dass die Tabellenobjekte grundsätzlich ein DAO-Recordset-Objekt vom Typ Dynaset offen halten - für jede Tabelle eines, für die gesamte Zeit, in der dieDatenbank geöffnet ist. In früheren Access-Versionen habe ich die Erfahrung machen müssen, dass die DAO-Resourcen generell beschränkt sind, und dass nicht ordnungsgemäß geschlossene und de-referenzierte DAO-Objekte (Database, Recordset) teilweise dazu geführt haben, dass sich die Datenbanken nicht regulär schließen ließen (Hänger beim Schließen).

    Ob ein entsprechendes "Aufräumen" im Terminate-Ereignis der Klassen hier hilfreich sein könnte? Oder sind meine Bedenken in den neueren Access-Versionen eher gegenstandlos geworden?

  • Der Haken ...

    Um genau zu sein, würde ich die Klassen vorerst nicht im Produktivbetrieb einsetzen, sondern vorerst nur beim Entwickeln - beispielsweise, um mal schnell Daten zu prüfen.
    Ob und wie man das Schließen der Recordsets regelt, müsste noch geprüft werden.

  • Datentypen

    Hallo,

    Könnte man nicht in den Tabellen- / Spaltendefinitionen die Datentypen auslesen und diese den Gettern als Rückgabewert mitgeben?

    Viele Grüße

  • Genial und ausbaufähig

    Die Idee an sich ist genial und der Code dazu fast schon verblüffend einfach.
    Dem versierten Entwickler fällt natürlich zuerst das fehlende Exception-Handling auf, aber bei 'nem 'proof of concept' ist das ja erstmal zu verschmerzen.
    Das Ganze funktioniert auch bei verknüpften Oracle-Tabellen erstaunlich gut und schnell.
    Leider habe ich an der Ecke mit einigen 'Altlasten' zu kämpfen, die sich z.B. durch Umlaute in Feldnamen bemerkbar machen. Das führt natürlich unweigerlich zu Problemen beim Generieren der Klassen.
    Auch dass durch das 'Set db = CurrentDb' immer wieder eine neue Instanz der aktuellen DB geholt wird ist eher suboptimal. 'Set db = DbEngine(0)(0)' scheint hier eine gangbare Alternative zu sein.
    Das Ganze kann man aber - wie bereits bemerkt - sicher ausbauen.
    Ich könnte mir auch gut vorstellen, das als kleines 'Entwickler-Gimmick' mit in OASIS-SVN aufzunehmen.

Passende Artikel
BUNDLE
Access im Unternehmen Access im Unternehmen
124,00 € * 159,00 € *
Aktuell im Blog
Onlinebanking mit Access

Es ist geschafft: Endlich ist das Buch Onlinebanking mit Access fertiggeschrieben. Das war... [mehr]

Direktzugriff auf Tabellen und Felder

Die IntelliSense-Erweiterung für Tabellen und Felder hat mir soviel Spaß gemacht, dass ich gleich... [mehr]

IntelliSense für Tabellen und Felder

Wenn Sie mit dem VBA-Editor arbeiten und dort gelegentlich SQL-Anweisungen eingeben, müssen Sie... [mehr]

Download Access und SQL Server

Erfahren Sie, welche Schritte zum Download des aktuellen Stands des Buchs "Access und SQL Server"... [mehr]

Bilder in Access 2013

Wer die Bibliothek mdlOGL0710 von Sascha Trowitzsch oder ein ähnliches Modul aus meinen... [mehr]

Dynamische Ribbons

Immer wieder fragen Leser, wie man Ribbon-Elemente wie etwa Schaltflächen in Abhängigkeit... [mehr]

Die Blogmaschine

Einen kleinen Blog zusätzlich zum Shop zu betreiben ist eine tolle Sache. Hier lassen sich... [mehr]

Wegwerfadressen für die Newsletteranmeldung

Die Verwendung von Wegwerf-Adressen für die Nutzung aller möglichen Online-Dienste nimmt... [mehr]

Access und Facebook

Facebook und Access - das ist eine der wenigen Kombinationen, die ich noch nicht in die Mangel... [mehr]

Access und SQL Server - das Projekt

Mein neues Buch Access und SQL Server (gemeinsam mit Bernd Jungbluth) geht in die Endphase. Wer... [mehr]