Serienbrief mit Parameterübergabe

Hallo Experten,
ich möchte aus Access heraus einen Serienbrief füllen, der allerdings nur einen Teil der Datensätze als Inhalt haben soll:

Es existiert eine Abfrage auf zwei Tabellen: Lehrgang und Personen. Diese enthält alle Personen verknüpft mit ihren besuchten Lehrgängen.

Im Serienbrief soll nun aber variabel per VBA-Aufruf (ich dachte an einen variablen Wert im SQL-Befehl SELECT ala (WHERE $xy = „Paramenter“)) geregelt werden, dass nur die Personendaten ausgegeben werden, die auch an dem Lehrgang-Nr. x teilgenommen haben. Und genau das x möchte ich als Parameter irgendwie übergeben.

Lösungsansatz: Besteht die Möglichkeit, einen Parameter an Word zu übergeben UND die Serienbrieffunktion in Word per VBA zu steuern? So wie ich in Access ja auch die SQL-Abfrage per VBA steuern kann (Me.RecordSource = SELECT …) und so völlig variable Dinge abfragen/ausgeben kann? Hier weiß ich nicht, wo ich in Word ansetzen soll!

Zweite Möglichkeit: Die Parameterabfrage beim Zugriff auf die in Word angegebene Datenbank zu realisieren. Hier habe ich allerdings überhaupt keinen Ansatz.

Wichtig ist nur, dass ich alles aus einem Formular heraus starten kann, denn dort kann der Benutzer die Parameter steuern.

Vielleicht hat ja jemand einen Hinweis, auch Bruchstücke sind gern gesehen :smile: ich wurschtel mich da schon durch! Vielen Dank! Um Lösungen wie neue temporäre Tabelle mit den passenden Werten anlegen oder so möchte ich aber bitte drum herum kommen.

Schönen Gruß,
Martin

Lösungsansatz: Besteht die Möglichkeit, einen Parameter an
Word zu übergeben UND die Serienbrieffunktion in Word per VBA
zu steuern? So wie ich in Access ja auch die SQL-Abfrage per
VBA steuern kann (Me.RecordSource = SELECT …) und so völlig
variable Dinge abfragen/ausgeben kann? Hier weiß ich nicht, wo
ich in Word ansetzen soll!

PS: Der Ansatz, dass ich den SQL-Befehl der mit dem Serienbrief verknüpften Access-Abfrage um „WHERE (((Teilnehmer.T_L_ID)=[Bitte geben Sie die ID ein]))“ erweitere scheitert, weil Word diese Abfrage dann nicht mehr als Datenquelle zulässt. Solange ich diese Abfrage in Access öffne kommt der Frage-Dialog „Bitte geben Sie die ID ein“ und ich kann die Abfrage steuern. Hat jemand das auch für Word geschafft? Danke

Hallo,
besteht die Möglichkeit eine neue (temporäre) Tabelle mit derselben Struktur wie die alte mit den gewünschten Inhalten zu erstellen?
Dann sollte WORD diese als Datenquelle zulassen.
Ich kenne mich leider mit VBA nicht sooo aus …

Viel Erfolg

Klaus

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Marin,

ich habe leider noch nicht verstanden ob du den Serienbrief aus Word oder Access aufrufen willst. Aus Access sollte es ziemliche einfach sein einen Parameter mitzugeben und die Abfrage als Datenquelle für den Serienbrief zu Nutzen. Aus Word kannst du mit dem Serienbreif-Assistent einen Abfrage-Parameter eingeben.

Gruss
Nils

Hi Nils,
beides wäre mir Recht! Ich habe allerdings unter Word keine Scnittstelle für Abfrage-Parameter gefunden (wo soll diese stehen?) und wüsste unter Access auch nur, wie ich ein Word-Dokument öffne und beispielsweise an Textmarkern Datenbankwerte eintrage. Was mir fehlt, ist das Stück VBA-Code für Access, mit dem ich die Serienbrieffunktion selbst schreiben (und manipulieren kann)!

Vielleicht kannst du mir dort ja weiterhelfen! Danke

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,
besteht die Möglichkeit eine neue (temporäre) Tabelle mit
derselben Struktur wie die alte mit den gewünschten Inhalten
zu erstellen?

Klar kann ich das machen, aber mein Wunsch ist es schon, alles zu automatisieren. Der Benutzer soll sich später nicht durch etliche Dialoge quälen, ein Klick und für die aktuelle Auswahl soll der Serienbrief gedruckt werden. Mir fehlt nur die Steuerung für den Serienbrief unter Access/VBA! Danke!

Hallo,

exportiere zunächst die Abfrage(daten) in eine CSV- oder RTF-Datei mittels Transfertext. Dann öffnest Du per Automation Word und erzeugst ein neues Dokument aus einer Vorlage, die passende Serienbrieffelder enthält. Diese Vorlage hast Du im Vorfeld mit Word erstellt und als *.Dot-Datei abgelegt. Nach dem Erzeugen des neuen Dokuments erstellst Du den Serienbrief mit der Word-Methode „Mailmerge“

Gruß
Franz

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]