none
VBA - Serienbrief mit Access - Sortierung nach Name klappt nicht

    Frage

  • Hallo NG,

    ich habe hier ein Problem mit der Sortierung eines Serienbriefes in
    Word, der Serienbrief klappt problemlos, aber ich bekomme es nicht
    hin, den Serienbrief nach dem Feld Name auszugeben.

    Ich verwende Word 2007 und Access 2007 mit WinXP SP3, mein Code sieht
    so aus:

    sub SeriendruckAdressen
       FileMDB = c:\temp\MeineAdressen.mdb

        ActiveDocument.MailMerge.MainDocumentType = wdFormLetters
       With ActiveDocument.MailMerge
            .OpenDataSource _
                name:=FileMDB, _
                ConfirmConversions:=False, _
                ReadOnly:=False, _
                LinkToSource:=True, _
                AddToRecentFiles:=False, _
                PasswordDocument:="", _
                PasswordTemplate:="", _
                WritePasswordDocument:="", _
                WritePasswordTemplate:="", _
                Revert:=False, _
                Format:=wdOpenFormatAuto, _
                Connection:="TABLE Adressen", _
                SQLStatement:="TABLE Adressen", _
                SQLStatement1:=" "
            .DataSource.QueryString = "SELECT * FROM FileQuelle.Adressen ORDER BY BLName"
        End With
        ' Auf neues Dokument ausgeben
        With ActiveDocument.MailMerge
            .Destination = wdSendToNewDocument
            .Execute
        End With
    end sub

    Der Serienbrief funktioniert problemlos ohne die Zeile
            .DataSource.QueryString = "SELECT * FROM FileQuelle.Adressen ORDER BY BLName"

    Sobald ich die DataSource-Zeile einfüge, bricht das Makro an dieser
    Stelle mit "4198 Befehl misslungen" ab, ich komme einfach nicht drauf,
    was an der Sytax falsch ist oder ob es so überhaupt nicht geht.

    Vielen Dank für Eure Hilfe

    Grüße
    Claudia
    Donnerstag, 15. März 2012 13:14

Antworten

  • Ich weiss es nicht aber wie ist es wenn du bei

    SQLStatement:="TABLE Adressen",  eine Abfrage aus Access angebist in der die Daten sortiert sind?

    SQLStatement:="SELECT * FROM `DEINEABFRAGE`"

    eins noch ist die

    Connection::="TABLE Adressen",  so richtig?

    ich kenne es nur mit

    "Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=" & PfadZuDeinerDatenbank & ";Mode=Read;Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Password="""";Jet OLEDB:Engine Type=5;Jet "


    Sonntag, 18. März 2012 14:14

Alle Antworten