ricotumb
Goto Top

Word Template zieht Daten aus Access 2007

Hallo zusammen,

ich habe ein Word Template mit folgendem Code:

Sub LeseDaten()
'  
' LeseDaten Makro  
    
    ActiveDocument.MailMerge.OpenDataSource Name:= _
        "\\dwdf035\esf\Anfragen\Anfragen.MDB", ConfirmConversions:=False, _  
        ReadOnly:=False, LinkToSource:=True, AddToRecentFiles:=False, _
        PasswordDocument:="", PasswordTemplate:="", WritePasswordDocument:="", _  
        WritePasswordTemplate:="", Revert:=False, Format:=wdOpenFormatAuto, _  
        Connection:= _
        "Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=\\dwdf035\esf\Anfragen\Anfragen.MDB;Mode=Read;Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Password="""";Jet OLEDB:Engine Type=5;Jet " _  
        , SQLStatement:="SELECT * FROM `Angebote`", SQLStatement1:="", SubType:= _  
        wdMergeSubTypeAccess
        
    
    With ActiveDocument.MailMerge
        .Destination = wdSendToNewDocument
        .SuppressBlankLines = True
        With .DataSource
            .FirstRecord = wdDefaultFirstRecord
            .LastRecord = wdDefaultLastRecord
        End With
        .Execute Pause:=False
    End With
    
End Sub

Die Datenbank aus der für das Template Daten gezogen werden ist Anfragen.MDB (wie oben im Quellpfad 2 mal angegeben). Anstelle dieser DB möchte ich nun eine andere DB einsetzen. Es ist eigentlich die selbe DB, nur dass sie in Access 2007 (also .accdb) konvertiert worden ist. Die "neue" DB liegt im selben Verzeichnis. Wenn ich jedoch nur den Namen der Datei (also Anfragen_neu.accdb statt Anfragen.MDB) umändere, funktioniert das Makro nicht. Es funktioniert nicht heißt: Das Word-Makro läuft nicht durch. Als Fehlermeldung kommt: Die Zeichenfolge ist länger als 255 Zeichen. Wenn ich dann auf Debuggen klicke wird der obere Teil des Word-Makros (also der Teil in dem der Quell-Pfad steht) komplett gelb markiert.

Hier auch die Function aus der DB, welche das Word Template aufruft:

Function OpenAngebot(lDatei As String)
    Dim oApp As Object
    Dim aNr As String
    Dim dStr As String


    Set oApp = CreateObject("Word.Application")  
    oApp.Visible = True
    oApp.Documents.Open FileName:=lDatei + Form_AngebotErstellen.Template.Value + ".doc"  
    
    oApp.Application.Run "LeseDaten"  
    oApp.Documents(Form_AngebotErstellen.Template.Value + ".doc").Close SaveChanges:=wdDoNotSaveChanges  


End Function

Könnte mir jemand evtl. sagen, weshalb das nicht funktioniert, obwohl es die selbe DB ist die ich einsetze, nur eben konvertiert???

Vielen Dank schonmal...

Rico

Content-Key: 141955

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

Printed on: April 25, 2024 at 02:04 o'clock

Member: RicoTumb
RicoTumb May 03, 2010 at 11:36:43 (UTC)
Goto Top
Hallo,

mein Problem hat sich von selbst erledigt. Der Connection String war nach der Änderung des Dateinamen länger als 255 Zeichen, was nicht erlaubt ist. Mit einem kürzeren Dateinamen funktioniert alles wunderbar!

Grüße,
Rico