pcfjkg
Goto Top

Serienbrief und Access-Project

Die Tabelle eines MS-Access 2007 Projektes ist die Datenquelle eines MS-Word 2007 Serienbriefes. Der bei MailMerge angegebene Dateiname der Datenquelle ist das Projekt. OpenDataSource schlägt fehl.

Hallo Experten,

unser MS-Access Project (Name.adp) soll mit dem unten aufgeführten Code einen existierenden Serienbrief aufrufen und die Felder von T_Anschrift übergeben. T_Anschrift liegt auf einem SQL-SERVER, der Verbindungstyp ist die integrierte Sichheit von Windows NT.

Nach dem Start des codes öffnet sich Word mit der Meldung:

Name.adp ist zur Bearbeitung gesperrt 'von einem anderen Benutzer'
Möchten Sie
- schreibgeschützte Kopie öffnen
- Lokale Kopie erstellen und Änderungen später zusammenführen
- Benachrichtigen, wenn das Original zur Verfügung steht

Wenn z.B. schreibgeschützte Kopie angeklickt wird, wird "irgendeine Qelle" geöffnet mit vielen Sonderzeichen und die Trennzeichen im Steuersatz werden abgefragt.
Am Ende kommt dann die Meldung: "Word konnte die Datenquelle nicht öffnen".

Dim wdApp As Word.Application
Dim wdDoc As Word.Document
Set wdApp = CreateObject("Word.Application")
Set wdDoc = wdApp.Documents.Open(Vorlagen & "S_Druck" & MaKü & ".docx")
wdApp.Visible = True

dB_Source = "C:\Name.ADP"
With wdApp.ActiveDocument.MailMerge
.MainDocumentType = wdFormLetters
.OpenDataSource Name:=dB_Source, _
ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, AddToRecentFiles:=False, _
Connection:="TABLE T_Anschrift", SQLStatement:="SELECT * FROM T_Anschrift", SQLStatement1:=""
wdApp.ActiveWindow.ActivePane.View.Zoom.PageFit = wdPageFitBestFit
End With
Set wdApp = Nothing
Set wdDoc = Nothing

In allen gefundenen Beiträge ist bei der DataSource Name:= eine *.mdb und keine .adp angegeben. Kann es daran liegen und hier eine andere Angabe erforderlich sein ?

Danke für jede Antwort, auch wenn sie nicht gleich die Lösung bringt.

PCFJKG


End With
Set wdApp = Nothing
Set wdDoc = Nothing

Content-ID: 144230

Url: https://administrator.de/contentid/144230

Ausgedruckt am: 24.11.2024 um 05:11 Uhr

NetWolf
NetWolf 06.06.2010 um 20:51:17 Uhr
Goto Top
N'abend,

warum nutzt du ein Projekt? Eine .accdb sollte vollkommen reichen.

Ich würde erst mal meinen Serienbrief entsprechend einstellen:
1. erstelle ein Abfrage für den Serienbrief in Access
2. öffne deinen Brief in Word
3. verknüpfe diesen mit der Abfrage
4. erstelle die Seriendruckfelder
5. teste ob der Seriendruck funktioniert

Später rufst du dann nur noch den Word-Serienbrief aus Access auf.
Über die Abfrage kannst du dann vorher steuern, was, wie gedruckt werden soll.

Grüße aus Rostock
Wolfgang
(Netwolf)
PCFJKG
PCFJKG 07.06.2010 um 12:00:05 Uhr
Goto Top
Hallo Netwolf,

die Anwendung als Projekt laufen zu lassen, hat verschiedene Gründe. Zum Einen ist der SQL-SERVER mächtiger und zum Zweiten arbeiten direkt auf ihm programmierte Prozeduren deutlich schneller als MS-Access in einer Netzwerkumgebung, um nur 2 Gründe zu nennen.

Die Serienbrieffunktion ist daher in der Software eigentlich nur ein "Randproblem", aber wenn vorhanden, warum soll man sie dann nicht nutzen (wenn sie nur laufen würde ...).

Mit Deinem Vorschlag könnte man sicher arbeiten, denn der Export aus einem Projekt in eine .accdb sollte kein Problem sein, nur: warum sich verbiegen (siehe oben) ?

Vielen Dank für Deine Unterstüzung,

Freundliche Grüße
PCFJKG