Benutzer mit den meisten Antworten
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
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 "
- Bearbeitet MCDPone Sonntag, 18. März 2012 14:16
- Als Antwort vorgeschlagen Robert BreitenhoferModerator Mittwoch, 21. März 2012 13:36
- Als Antwort markiert Gunter Avenius Freitag, 23. März 2012 12:46
Alle 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 "
- Bearbeitet MCDPone Sonntag, 18. März 2012 14:16
- Als Antwort vorgeschlagen Robert BreitenhoferModerator Mittwoch, 21. März 2012 13:36
- Als Antwort markiert Gunter Avenius Freitag, 23. März 2012 12:46
-
Hallo Claudia-Bavaria,
Hat Dir die Antwort geholfen?
Grüße,
RobertRobert Breitenhofer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können. -
Hallo MCDPone,
danke Dir für Deinen Tipp, wird wohl über eine Abfrage laufen müssen.
Bin noch nicht zum Ausprobieren gekommen, gehe aber davon aus es klappt.
Grüße
Claudia
- Bearbeitet Robert BreitenhoferModerator Donnerstag, 22. März 2012 10:20 Formatierung
-
Hallo Claudia-Bavaria,
Es wäre schön und hilfreich, wenn Du posten würdest ob/wie es funktioniert hat, denn dann profitieren unter Umständen andere mit dem gleichen Problem davon.
Ich möchte Dich bitten folgendes lesen und die Beiträge die Dir geholfen haben zu bewerten.
Vielen Dank.
Nutzen Sie die Bewertungsfunktionen ("Antwort" und "Hilfreich") in den MSDN Foren! Unter anderem können andere später eine Lösung schneller finden. Es ist also wünschenswert, dass die fragenden (Benutzer) die Postings/Beiträge anderer Beantworter bewerten.
Hier dazu die wichtigsten Anhaltspunkte aus den Forenregeln und FAQs.
Lösungsbeiträge als „Die Antwort“ markieren
Bitte markieren Sie den Beitrag, der zur Lösung geführt hat, als "Die Antwort". Durch Bewerten eines Beitrags als "Die Antwort" können andere Teilnehmer die Lösung schneller finden. Außerdem können Sie dem Benutzer, der die Antwort eingereicht hat, für seinen Beitrag danken und zur Steigerung der Antwortqualität in der Diskussionsgruppe beitragen.
[Quelle: Forenregeln]
Wie bewerte ich einen Beitrag?Um einen Beitrag als hilfreich zu bewerten, klicken Sie in einem beliebigen Beitrag auf Als hilfreich bewerten. Sie können Ihre Stimme nur einmal für einen Beitrag abgeben.
[Quelle: Häufig gestellte Fragen]Grüße,
Robert
Robert Breitenhofer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.