Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Excel VBA für Profis: Klassen (Konzepte)

Access-Adressen per Klasse importieren

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Der Import von Daten aus einer Access-Tabelle ist mit wenigen Änderungen vorbereitet, weil die Klassen sich sehr ähnlich sind.

Transkript

Es gibt bereits die Klasse "CSV", und zwar mit drei vorgegebenen, nenne ich das mal Prozeduren, die habe ich vorgegeben, aber trotzdem sollen die gleich sein, deswegen kann ich mir ein Teil davon schon mal mit rübernehmen und kopieren, Steuerung+C und werde jetzt eine Access-Klasse schreiben, die nach außen genauso aussieht. Also hier ein Klassenmodul, das nenne ich dann entsprechend "cls Access" und da kopiere ich das erstmal rein, auch wenn manches davon vielleicht wegfallen wird, also diese bleiben erstmal und da sollte ich die Function wenigstens schon mal zumachen. Das heißt, nach außen präsentiert sich die Klasse erstmal völlig identisch. Jetzt kommen die mehr Variablen, die ich hier brauche, hier brauche ich zum Beispiel noch eine Database-Variable, das hatten Sie immer schon mal gesehen, "dbsDiese", herum, da ist also "dbsDiese As DAO.Database"", und ich schreibe schon mal hier "Verweis auf Access nötig" und dann auf den Recordset selber, also "m_rcsDieser As DAO-Recordset". Damit sind die Modul-öffentlichen Variablen, die ich brauche, schon mal vorbereitet, "Diese" ist identisch und jetzt gibt es bei dem Datenöffnen mal was zu tun, ich muss nämlich jetzt die Datenbank öffnen. "Set m_dbsDiese", das ist nur bei Access-Datenbanken nötig, also gibt es eine Open-Database und öffnen will ich die, die ich hier übergeben habe, und auch dort schreibe ich das "Read only" auf "True". Das war es schon, er macht nur eine Zeile mehr und deswegen schadet es nichts, wenn auch die CSV-Datei glaubt, da sei was zu tun, passiert eben nichts, aber sie sind auf der sicheren Seite. Und jetzt zerlege ich das, was ich hier, bei den Adressen ohne Klassen schon mal geschrieben hatte, zerlege ich das eigentlich entsprechend wieder, also die Zeile können wir direkt hier kopieren, die brauche ich nämlich auch wieder. Im Datensatz selber kann ich direkt unterstellen die Datenbank sei offen und kann dann diesen Recordset aufmachen, allerdings heiß es hier natürlich "m_", eine Modul-öffentliche Database-Variable und auch diese ist Modul-öffentlich. Das ist mir schon gleich wieder ein Hinweis, dass ich nicht so viel gruppieren sollte, dann machen wir es lieber ehrlich zu Fuß und kann ich entsprechend wieder auf diesen Recordset zugreifen und auch hier will ich nicht den ersten Datensatz, sondern es beginnt mit einem Move-Befehl, und zwar um so viel Zeilen, wie ich da oben angegeben habe, aber eine weniger, denn wenn ich die erste Zeile habe, will ich mich nicht um eine bewegen, sondern um null Zeilen, für die dritte Zeile nicht um drei weiter, sondern nur um zwei. Und das ist mir jetzt wieder zu viel Schreibarbeit, ich kann das also rüberkopieren, dass ich an der Stelle jetzt die Adresse wieder zusammensetze, so war das eben auch schon mal und dann bin ich hier eigentlich schon fertig, das ist kurz und knackig, Datenbankzugriff ist teilweise sogar kürzer als Textzugriff und dann sollte ich natürlich noch den Recordset mit "Close" wieder zumachen und wenn wir das ganz perfekt machen, gäbe es hier auch noch ein Class_Terminate, nur ein Terminate und in dem sorge ich dann dafür, dass auch die Datenbank zugemacht wird, also die Database nicht auf "nothing" gesetzt, sondern mit "Close" geschlossen. Das ist jetzt vielleicht ein bisschen übertrieben, denn wenn die Instanz beendet würde, die Instanz der Klasse, dann findet das alles mit dem Schließen der Datenbankverbindungen sowieso statt. Also die äußere Darstellung dieser Klasse fühlt sich genau so an, es gibt die gleichen Properties und Supps mit den gleichen Parametern, Was im Hintergrund passiert, ist mir als zukünftiger Benutzer dieser Klasse aber egal.

Excel VBA für Profis: Klassen (Konzepte)

Verbessern Sie Ihren VBA-Code durch Klassenprogrammierung.

1 Std. 35 min (21 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!