Supportnet / Forum / Datenbanken
Serienbrief einmal anders
Frage
Hi supportnet,
In meiner DB kann der Anwender über eine ComboBox diverse Briefe auswählen. Diese Briefe sind im selben Ordner wie Datenbank( als Seriendokumente [Datensätze noch nicht zusammengeführt] )gespeichert. Dies sind etwa 15 Stück. Jetzt müsst ich diese Briefe erst aufrufen (für evtl. Veränderungen)und dann ausdrucken . Hat jemand eine Idee , wie das zu realisieren ist?
A lot of Thank to anybody who cares
sevener
Antwort 1 von Marie
Ja klar, wo liegt denn Dein Problem? Für eventuelle Änderungen machst Du nichts anderes als das enstsprechende Dokument öffnen, das Du vorher als Seriendruckdokument mit Deiner Datenbank verknüpft hast.
Dim objWord As Word.Application
Set objWord = CreateObject("Word.Application")
With objWord
.Documents.Open ("c:\DeinPfad\DeinDokument.doc")
.ActiveDocument.tuewasDuwillst
'was Du hier alles machen willst von Access aus kannst Du mit Den Word-Befehlen und immer
.ActiveDocument.
davor ausführen. Erstellst Dir in Word ein Makro, mit dem was Du tun willst und schreibst dann die entsprechenden Befehle in Access rein
End With
Und wenn der Seriendruck von Access aus ausgeführt werden soll, dann gibst Du halt nach dem Öffnen den Befehl weiter, dass der Seriendruck ausgeführt werden soll.
Wenn Du erst auswählen willst in welchem Pfad oder Verzeichnis sich die Worddateien befinden, oder das Dokument frei wählen willst, dann fügst Du den Common-Dialog-Ersatz ein von Karsten Pries oder von Henry Habermacher (www.accessprofipool.de)
Dann könntest Du Dir mal die KnowHow.mdb von Klaus Oberdalhoff herunterladen, ist irgendwo auch beim ProfiPool zu finden oder bei Dieter auf www.topsolutions.de, dort findest Du Beispiele für Word-Serienbriefe.
Im Detail kommt das auf Deine Officeversion an. Word97 reagiert anders als Word2000. Aber wenn Du noch Fragen hast, dann frag ruhig.
Gruß Marie
Dim objWord As Word.Application
Set objWord = CreateObject("Word.Application")
With objWord
.Documents.Open ("c:\DeinPfad\DeinDokument.doc")
.ActiveDocument.tuewasDuwillst
'was Du hier alles machen willst von Access aus kannst Du mit Den Word-Befehlen und immer
.ActiveDocument.
davor ausführen. Erstellst Dir in Word ein Makro, mit dem was Du tun willst und schreibst dann die entsprechenden Befehle in Access rein
End With
Und wenn der Seriendruck von Access aus ausgeführt werden soll, dann gibst Du halt nach dem Öffnen den Befehl weiter, dass der Seriendruck ausgeführt werden soll.
Wenn Du erst auswählen willst in welchem Pfad oder Verzeichnis sich die Worddateien befinden, oder das Dokument frei wählen willst, dann fügst Du den Common-Dialog-Ersatz ein von Karsten Pries oder von Henry Habermacher (www.accessprofipool.de)
Dann könntest Du Dir mal die KnowHow.mdb von Klaus Oberdalhoff herunterladen, ist irgendwo auch beim ProfiPool zu finden oder bei Dieter auf www.topsolutions.de, dort findest Du Beispiele für Word-Serienbriefe.
Im Detail kommt das auf Deine Officeversion an. Word97 reagiert anders als Word2000. Aber wenn Du noch Fragen hast, dann frag ruhig.
Gruß Marie
Antwort 2 von sevener
Hi Marie ,vielen Dank für Deine Tips .Ist echt ne Menge Zeugs,was du mir da anbietest.Muss ert mal ´n bisschen rumprobieren .
Allerdings wär da noch ´ne Kleinigkeit.
Funktioniert das ganze nicht auch,wenn ich Die Briefe in der DB speichere und per SQL-Abfrage den gewünschten Brief öffne ? (ich meine natürlich ne If-then-Else-Bedingung mit anschliesssender Abfrage )Problem dabei :wie Öffne ich ein OLE -Objekt in einer Tabelle per Code?
Also nochmals herzlichen Dank . Du warst/bist meine Rettung.
mfG Andreas/sevener
Allerdings wär da noch ´ne Kleinigkeit.
Funktioniert das ganze nicht auch,wenn ich Die Briefe in der DB speichere und per SQL-Abfrage den gewünschten Brief öffne ? (ich meine natürlich ne If-then-Else-Bedingung mit anschliesssender Abfrage )Problem dabei :wie Öffne ich ein OLE -Objekt in einer Tabelle per Code?
Also nochmals herzlichen Dank . Du warst/bist meine Rettung.
mfG Andreas/sevener

