Rubrik: Word | VB-Versionen: VBA | 03.03.16 |
SQL-Connection definieren und testen (VBA, Word2007, SQL) Ein VBA-Projekt, das primär das Definieren eines SQL-Connectionstrings realisiert und sekundär ein paaar zusätzliche Programmiertipps gibt. | ||
Autor: Dietrich Herrmann | Bewertung: | Views: 6.913 |
ohne Homepage | System: Win7, Win8, Win10, Win11 | Beispielprojekt |
Das Projekt ist mehr oder weniger ein Testfall für verschiedene Tipps, die integriert sind und ein paar Programmierprinzipien zeigen. Aber vordergründig zeigt es die Definition eines SQL-Connectionstrings unter VBA.
Im Mttelpunkt steht eine Userform zum Definieren des Strings mittels einfacher Auswahl der String-Parameter aus vordefinierten Strings. Die wichtigsten Parameter sind aufgelistet in Comboboxen oder Textboxen. Durch Auswahl der entsprechenden Checkbox wird der Parameter in den Connectionstring übernommen. So kann schnell und einfach dieser String zusammengesetzt werden.
Spezielle Programmierung:
Das Projekt enthält als "Spezialitäten"
- Ermitteln des SQL-Servers via VBA
- Ermitteln aller Datenbanken auf dem Server
- Anwendung von Control-Arrays
- Anwendung von Variablen für ein Word-Dokument
- Verwenden von XML-Daten, speziell RTF-Text
- Anzeigen von RTF-Text aus XML-Datei in zusätzlicher Userform (kleines Hilfesystem)
Programmablauf:
Es sind folgende Verweise notwendig:
- Microsoft ActiveX Data Objects 2.8 Library
- Microsoft ActiveX Data Objects Recordset 6.0 Library
- Microsoft XML, v3.0
WICHTIG
- Im Vereinbarungsteil des Userfom-Codes sieht man die Konstante 'DBName'; sie muss vom Anwender als eigener Datenbankname vorprogrammiert werden ('meineDatenbank' steht nur für eine fiktive DB), bevor ein eigener Test durchgeführt werden kann.
- Im Userform-Code 'Initialize' sieht man in der letzten Zeile, wo man eventuell das XML-File mit den RTF-Hilfetexten speichern kann. Der Pfad muss hier explizit festgelegt werden. (Das XML-File wird mitgeliefert!)
- Es werden mehrere Module mitgeliefert, die entsprechend benötigte Funktionen enthalten.
Zu Beginn des Programms wird zunächst der SQL-Server ermittelt, Controlarrays definiert, eventuell existierender Connectionstring aus Dokumenten-Variable gelesen, die Datei 'vbaXMLFile.xml' gelesen. Jetzt steht die Userform zum Definieren des Connectionstrings mit Anfangswerten bereit. Durch Klicken auf die entsprechenden Checkboxen kann der rechts in Textbox angezeigter String verändert werden. Bei MouseOver bei den Labels (vor den CheckBoxen) ändert sich der Cursor in 'Fragezeichen', was bedeutet: bei Klick kann eine kurze Hilfe im RTF-Format zu dem betreffenden Parameter angezeigt werden (dazu wird eine zweite Userform mit dem Control 'Inkedit' verwendet).
Ist der Connection-String 'OK', kann er getestet und eventuell als Dokument-Variable gespeichert werden.
ACHTUNG:
Das Projekt benötigt zusätzlich zu dem gelieferten Code noch Funktionen aus meinen Tipps:
VBA-Funktionen #3, Funktionsgruppen zur allgemeinen Verwendung
SQL-Daten in Wordtabelle (Module dhSQLToTable)
Das Codemodul dhControlArray muss als Klasse im Projekt gespeichert sein.