Verbinden von Word mit einer Access DB

19/09/2007 - 14:26 von Andreas Hermann | Report spam
Hallo alle zusammen,

hab schon in vielen Beitràgen gesucht aber leider nichts passendes gefunden.
Ist bestimmt nur ein lapidarer Fehler, aber ich komme nicht dahinter was ich
falsch gemacht habe.

Ich hab ers in der Access News group angefragt, mir wurde aber mitgeteilt
dass das Problem bei Word zu suchen ist.

Vorgeschichte:
Eine "historisch gewachsene Access DB" Erste Entwicklung in A97 dann weiter
gebaut in 2K.
In diese Konstellation funktioniert diese auch noch
- Windows XP pro
- Office XP pro
- A2K Konvertiert aus A97

In der DB werden Kunden Adressen und weitere Daten gelagert

In der DB wird ein DS mit einer Abfrage ausgewàhlt und wird Word
übergeben. Das untere Makro
verbindet die DB mit dem Serienbrief in Word.

Public Sub MAIN()
WordBasic.MailMergeMainDocumentType 0
WordBasic.MailMergeOpenDataSource Name:="Q:\access\kaweha.mdb",
ConfirmConversions:=0, ReadOnly:=0, LinkToSource:=1, AddToMru:=0,
PasswordDoc:="", PasswordDot:="", Revert:=0, WritePasswordDoc:="",
WritePasswordDot:="", Connection:="QUERY Abfrage-personal-Adressen",
SQLStatement:="SELECT * FROM [Abfrage-personal-Adressen]", SQLStatement1:=""
WordBasic.MailMergeEditMainDocument
End Sub

Mit A2K funktioniert das auch noch.

Bedingt durch andere Software müssen wir auf A2003 umstellen.

Nach Konvertierung der DB in A2003 funktioniert die DB nicht mehr, d.h.
diese will sich nicht mehr verbinden lassen.
Ab der Zeile:

WordBasic.MailMergeOpenDataSource Name:="Q:\access\kaweha.mdb",
ConfirmConversions

schlàgt der Debugger zu.

Die verbindung mit der Abfrage funktioniert auch nicht, wenn ich diese
hàndisch verbinden will, da die Abfragen überhaupt nicht als auswahl der zu
verbindenden DatenQuellen zu Verfügung stehen. Es sind nur die Tabellen
aufgelistet.

So nun die Frage:
Was habe ich bei der Konvertierung verpatzt?
Warum werden die Abfragen nicht mehr als Datenquelle zur Verfügung gestellt?
Wie muss ich das Modul umschreiben das ich die Verbindung wieder herstellen
kann?

Ich hab auch schon bei Microsoft in der Access Hilfe, und in der Access
hilfe Offline, aber leider
konnte ich über die Macke nichts finden was für mich hilfreich ist, oder ich
verstanden habe.

Auch das Aufzeichnen einer Verbindung als Macro (um zu Testen was da
eingeschrieben wird) brachte nichts, da immer abgebrochen wurde mit der
Fehlermeldung " konnte Datenquelle nicht öffnen, da keine Daten vorhanden
sind".

Es ist aber genau der ausgesuchte DS vorhanden. (wenn ich die Abfrage öffne)

Das erstellen einer neuen "DatenQuelle" als *.odc hatte auch keinen Erfolg
gebracht. Sobald ich dies Aufrufe kommt auch der Fehler, "kann daten Quelle
nicht öffnen)
Sub Makro2()
ActiveDocument.MailMerge.OpenDataSource Name:= _
"C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Eigene
Datenquellen\kaweha alleAngebote.odc" _
, ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="",
_
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False,
_
Format:=wdOpenFormatAuto, Connection:= _
"Provider=MSDASQL.1;Persist Security Info=True;Extended
Properties=""DSN=Microsoft
Access-Datenbank;DBQ=Q:\access\kaweha.mdb;DefaultDir=Q:\access;DriverId%;FIL=MS
Access;MaxBufferSize 48;PageTimeout=5;"";Initial Catalog=Q:\access\kaweha"
_
, SQLStatement:="SELECT * FROM `alleAngebote`", SQLStatement1:="", _
SubType:=wdMergeSubTypeOther
End Sub



Um das Macro nach neuem Standard um zu schreiben fehlt mich die Erfahrung.

WordBasic.MailMergeOpenDataSource Name:="Q:\access\kaweha.mdb", .

Das "WordBasic" ist durch die Konvertierung aus einer niederen Version zu
A2003 eingebaut worden und ja nur aus kompatibilitàtsgründen noch da, ist
aber die Fehlerquelle.
Wie ich das Umschreiben kann weis ich leider nicht.
Es wird immer nur beschrieben, das die Konvertierung "Automatisch" erfolgt.
Leider ist auch der Fehler
"Automatisch" da gewesen, und geht aber nicht "Automatisch" wieder weg.

Bin für jede Lektion offen,

A Hermann
 

Lesen sie die antworten

#1 Andreas Hermann
19/09/2007 - 17:24 | Warnen spam
Hallo noch mal,
Ich hab nun das unten reinkopierte Macro umgeschrieben auf die
Entsprechungen der àlteren Befehle.

Leider hànge ich wieder an der gleichen Stelle fest,
Laufzeitfehler 5922
Word konnte Daten Quelle nicht öffnen

Debugger:
.OpenDataSource Name:="Q:\access\kaweha.mdb", _
Connection:=strConnection, SQLStatement:="SELECT * FROM
[Abfrage-personal-Adressen]"

-

Public Sub MAIN()
Set doc = ActiveDocument
If doc.MailMerge.MainDocumentType = wdNotAMergeDocument Then
StatusBar = "Not a mail merge main document"
Else
StatusBar = "Document is a mail merge main document."
End If

Dim strConnection As String

With ActiveDocument.MailMerge
.MainDocumentType = wdFormLetters
strConnection = "DSN=MS Access Databases;" & "Q:\access\kaweha.mdb"
.OpenDataSource Name:="Q:\access\kaweha.mdb", _
Connection:=strConnection, SQLStatement:="SELECT * FROM
[Abfrage-personal-Adressen]"
End With

ActiveDocument.MailMergeOpenDataSource Name:="Q:\access\kaweha.mdb",
ConfirmConversions:=0, ReadOnly:=0, LinkToSource:=1, AddToMru:=0,
PasswordDoc:="", PasswordDot:="", Revert:=0, WritePasswordDoc:="",
WritePasswordDot:="", Connection:="QUERY Abfrage-personal-Adressen",
SQLStatement:="SELECT * FROM [Abfrage-personal-Adressen]", SQLStatement1:=""
ActiveDocument.MailMerge.EditMainDocument
End Sub


-

Irgend etwas ist immer noch nicht richtig. Nun hab ich auch keine Idee mehr
wo ich noch nachschauen soll.

Kann mir vieleicht doch jemand etwas Hilfe zukommen lassen

Danke für die Mühe

Hermann

Ähnliche fragen