Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Word Serienbrief / Word.MailMerge Objekt bei ODBC verknüpften Tabellen

Begonnen von datekk, Juli 19, 2017, 19:41:46

⏪ vorheriges - nächstes ⏩

datekk

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.
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps


datekk

Hallo Markus, besten Dank. Ja da habe ich mich vertippt, das Problem wird dadurch aber nicht gelöst...
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps

datekk

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...


Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps

Lachtaube

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.
Grüße von der (⌒▽⌒)

datekk

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?
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps

DF6GL

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.

datekk

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.
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps