Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: datekk am Juli 19, 2017, 19:41:46

Titel: Word Serienbrief / Word.MailMerge Objekt bei ODBC verknüpften Tabellen
Beitrag von: datekk am Juli 19, 2017, 19:41:46
Hi,

ich hänge fest. Ich möchte gern Datensätze aus einer Tabelle aus Access an Word für einen Seriendruck übergeben. Bei "lokalen" Tabellen alles dufte, nicht aber bei via ODBC verknüpften Tabellen. Ich bekomme es einfach nicht hin.

Code-Schnippsel:
strDatabase = db.Name
       
    strConnection = "DNS:" & p_ODBCVerbZV
    objMerge.MainDocumentType = wdFormLetters
    objMerge.OpenDataSource Name:=strDatabase, LinkToSource:=True, Connection:=strConnection, SQLStatement:="SELECT * FROM [Kundenliste]", SubType:=wdMergeSubTypeAccess
   


Meine ODBC Verbindungszeichenfolge sieht wie folgt aus (in Var p_ODBCVerbZV gespeichert):
"ODBC;DRIVER={SQL Server Native Client 11.0};SERVER=192.168.200.24,49170;UID=*****;PWD=*******;APP=SSMA;DATABASE=sqlDatabase;"

Nur weiß ich nicht, wie ich diese in die Merge Verbindung integrieren soll... "strConnection = "DNS:" & p_ODBCVerbZV" funktioniert auf jeden Fall nicht

db = current.db as dao.database

Mit lokalen Tabellen klappt die Connection mit strConnection = "DNS=MS Access Database;DBQ=" & strDatabase & ";DriverId=25;FIL=MS Access;"

Kennt sich jemand damit aus? Alternativ könnte Word auch direkt über den SQL Server gespeist werden, aber auch hierfür habe ich keine Ahnung wie.
Titel: Re: Word Serienbrief / Word.MailMerge Objekt bei ODBC verknüpften Tabellen
Beitrag von: markusxy am Juli 19, 2017, 20:30:30
DSN != DNS !!
Titel: Re: Word Serienbrief / Word.MailMerge Objekt bei ODBC verknüpften Tabellen
Beitrag von: datekk am Juli 19, 2017, 20:36:37
Hallo Markus, besten Dank. Ja da habe ich mich vertippt, das Problem wird dadurch aber nicht gelöst...
Titel: Re: Word Serienbrief / Word.MailMerge Objekt bei ODBC verknüpften Tabellen
Beitrag von: datekk am Juli 19, 2017, 20:51:39
Ich bekomme auch den Laufzeitfehler 5922: Sie haben einen Ausdruck eingegeben, der einen ungültigen Verweis auf die Caption-Eigenschaft enthält.

Fehler tritt nur bei ODBC Tabellen auf, nicht bei lokalen. Auf dem SQL Server steht vor den Tabellen noch dbo.

Wenn ich das aber ergänze also auf z.B. [dbo.TabellenName] erhalte ich die Fehlermeldung dass ich einen Falschen Verweis auf die Hauptobjekteigenschaft gesetzt habe...


Titel: Re: Word Serienbrief / Word.MailMerge Objekt bei ODBC verknüpften Tabellen
Beitrag von: Lachtaube am Juli 19, 2017, 21:14:47
Hast Du mal in Word versucht, manuell die Geschichte zum Laufen zu bringen.

PS: Wenn die Server-Tabelle(n) im Access-Frontend verknüpft vorliegen, sollte zumindest eine Abfrage darauf als Quelle für den Serienbrief zum Erfolg führen.
Titel: Re: Word Serienbrief / Word.MailMerge Objekt bei ODBC verknüpften Tabellen
Beitrag von: datekk am Juli 19, 2017, 21:29:09
Ich nehme an das es daran liegt, das die Tabellen erst während der Laufzeit verknüpft werden, wobei die Verknüpfung zum Zeitpunkt des aufrufens des Serienbriefes bereits erfolgt ist.... Gibt es dann dennoch einen Workaround oder soll ich die Daten dann gleich vom SQL Server ziehen?
Titel: Re: Word Serienbrief / Word.MailMerge Objekt bei ODBC verknüpften Tabellen
Beitrag von: DF6GL am Juli 20, 2017, 09:38:53
Hallo,

als Alternativlösung würde ich vorschlagen, eine CSV-Datei der Daten zu generieren und diese als Steuerdatei für den Serienbrief zu nehmen. Mailmerge macht (hat) mitunter Probleme beim direkten Zugriff auf Tabellen , bzw. Abfragen.
Titel: Re: Word Serienbrief / Word.MailMerge Objekt bei ODBC verknüpften Tabellen
Beitrag von: datekk am Juli 20, 2017, 10:15:24
Hallo Franz, das scheint wirklich eine gute Alternative zu sein. Ich schau mal was ich bei Google dazu finde, wie ich die csv via VBA erstellen und in Word injizieren kann.