Rubrik: Word | VB-Versionen: VBA | 12.01.16 |
SQL-Daten in eine WORD-Tabelle eintragen (VBA, Word 2007, SQL) Der Tipp stellt eine VBA-Modul-Datei zur Verfügung mit Funktionen, die das Übertragen von Daten aus einer SQL-Datenbank in eine Word-Tabelle realisieren. | ||
Autor: Dietrich Herrmann | Bewertung: | Views: 6.853 |
ohne Homepage | System: Win7, Win8, Win10, Win11 | Beispielprojekt |
Im Code des im Download enthaltenen Moduls sind am Anfang die erforderlichen Verweise angegeben, die für die Realisierung benötigt werden:
- Microsoft ActiveX Data Objects 2.8 Library
- Microsoft ActiveX Data Objects Recordset 6.0 Library
Eine UserForm wird nicht verwendet. Die erste Funktion 'tableFromSQL' ist die aufzurufende Funktion für den Ablauf der Datenübertragung.
Ich zeige hier die Parameter als ein Beispiel aus einer meiner Datenbanken und will damit nur darstellen, wie die entsprechenden Parameter aussehen können. Es ist in dieser Form vom Tipp-User nicht anwendbar, weil fiktiv!
In der Funktion wird zuerst insbesondere ein Array für die Formatierung der Daten in der Word-Tabelle erzeugt (also im Beispiel Buchungsdaten wie im Selection-String ersichtlich). Das Array 'prozent' legt für jede Spalte der Word-Tabelle ihre prozentualle Breite fest.
Dann folgt der Aufruf der Funktion 'SQLDataToWordTable' mit ihren Parametern. Diese Parameter werden vor der Funktionsdefinition erläutert.
Besonders ist der Parameter 'art':
- 11.. new table: bedeutet, dass eine neue Wordtabelle an der aktuellen Cursorposition erzeugt und dann befüllt wird.
- 12.. update table: bedeutet, dass eine schon vorhandene, gefüllte Word-Tabelle aktualisiert wird.
- 21.. array: bedeutet, dass die SQL-daten nicht in eine Word-Tabelle übertragen werden, sondern 'nur' in ein Array.
In der Funktion ist der Code-Block für die Verwendung der Struktur einer Datentabelle auskommentiert, kann bei Bedarf benutzt werden.
Erwähnenswert sind noch die Fakten:
- Es können auch RTF- und/oder Image-Datenfelder verarbeitet werden.
- Die Funktion gibt die Anzahl der übertragenen Datensätze zurück.