Hallo,
durch eine Veränderung der Verzeichnisstruktur muss ich für etwa 400 Serienbriefvorlagen die Verknüpfung zur Access-Datenquelle aktualisieren. Das klappt bedingt wie folgt:
Code:
Sub DatenquelleAendern()
'
Dim strConnection As String
With ActiveDocument.MailMerge
.MainDocumentType = wdFormLetters
strConnection = "DSN=MS Access Databases;" _
& "DBQ=C:\Serienbriefaktualisierung\Testdatenquelle2.mdb;" _
& "FIL=RedISAM;"
.OpenDataSource Name:="C:\Serienbriefaktualisierung\Testdatenquelle2.mdb", _
Connection:=strConnection
End With
End Sub
Mit einer Testdatenquelle, die aus nur einer Tabelle besteht, funktioniert die Neuverknüpfung sehr gut. In meiner eigentlichen "großen" Datenbank habe ich aber eine ziemlich große Zahl an Abfragen und Tabellen. Starte ich mein Makro, bekomme ich einen Dialog, der mich die gewünschte Tabelle/Abfrage auswählen lässt. Komischerweise wird aber nur ein Teil der Abfragen und Tabellen aufgelistet und ich komme einfach nicht dahinter, nach welchem Muster. Die Abfrage, die ich bräuchte, ist natürlich auch nicht dabei. Spreche ich sie wie folgt direkt an, erhalte ich eine Fehlermeldung, dass sie nicht auffindbar ist:
Code:
SQLStatement:="SELECT * FROM qry_Dokumentation"
Das ist das erste Problem, für das ich dringend Hilfe bräuchte. Kann es am Dateityp liegen ("FIL=RedISAM;")? Ich verwende Office 2003.
Das andere Problem ist, dass ich wie gesagt etwa 400 Serienbriefe zu aktualisieren habe, die sich in einem Verzeichnis mit mehreren Unterverzeichnissen befinden. Wenn ich mein Makro in der Normal.dot hinterlege, komme ich natürlich auch von jedem Brief aus dran, dennoch bleibt das bei der Anzahl an Vorlagen ein ordentliches Stück Arbeit.
Deshalb meine Frage: Ich kann doch per VBA die gleichen Änderungen an einem ganzen Order vornehmen, ohne jede einzelne Datei öffnen zu müssen, aber wie? Am allerbesten wäre eine Abfrage, welcher Ordner aktualisiert werden soll.
Ich bastle jetzt schon seit Tagen an einer Lösung und bin mit meinem Latein ordentlich am Ende und wäre über jede Hilfe sehr dankbar!!!
Anne |