Hallo und schönen Sonntag,
ich habe ein Formular Adressen, in dem mehrere Adressen eines Kunden stehen (falls mal umgezogen etc., jede Adresszeile hat ein Kontrollkätschen "aktuelle Adresse", in dem dann die aktuelle Adresse logischerweise markiert ist.
Nun möchte ich genau diesen markierte Datensatz (bestehend aus Strasse, PLZ & Stadt) mittels Textmarke in Word einfügen.
Es funktioniert soweit, doch leider fügt er immer den 1. Datensatz ein und nicht den markierten. :'(
Folgenden VBA hab ich:
Dim wdApp As Object, wdDoc As Object
Set wdApp = CreateObject("word.application")
With wdApp
.Visible = True
Set wdDoc = .Documents.Add("C:\Briefvorlage II.dotx")
End With
With wdDoc
.Bookmarks("Vorname").Range = Forms!ErfassungRGErst.Vorname
.Bookmarks("Name").Range = Forms!ErfassungRGErst.Nachname
.Bookmarks("Strasse").Range = Forms!ErfassungRGErst!ErfassungUfoAdressen.Form.Straße
.Bookmarks("PLZ").Range = Forms!ErfassungRGErst!ErfassungUfoAdressen.Form.PLZ
.Bookmarks("Ort").Range = Forms!ErfassungRGErst!ErfassungUfoAdressen.Form.Stadt
.Bookmarks("Mandantennummer").Range = Forms!ErfassungRGErst.Mandantennummer
.Bookmarks("Briefanrede").Range = Forms!ErfassungRGErst.Briefanrede
.Bookmarks("BAName").Range = Forms!ErfassungRGErst.Nachname
.Bookmarks("Abrechnungsnummer").Range = Forms!ErfassungRGErst!ErfassungUfoVorg.Form.Text22
End With
Hallo,
es nützt nichts, wenn ein KK markiert (auf True steht) ist , die Zuweisungen aber mit dem davon unabhängigen markierten Formular-Datensatz erfolgt.
Entweder du sorgst dafür, dass der DS mit dem gesetzten KK den Fokus erhält (markiert wird)
oder du ermittelst den DS mit Hilfe eines Recordsets und Übergabe der entspr. Kriterien, dessen Daten dann den Textmarken zugewiesen werden.
Oha :-[
das hatte ich mir einfacher vorgestellt....
Hallo,
da ich ja die DB kenne, stellt sich die Frage, warum nach Word ?
Ist ein Access Bericht nicht einfacher ?
Oder anders gefragt, was kann Word besser ?
Word hatte ich deswegen favorisiert, weil in dem "Word-Bericht" jedesmal individuelle und freiformulierte Texte eingefügt werden sollen.
Und ich kann meine erstellten Kopf- und Fußzeilen weiterverwenden, mein Briefpapier sozusagen....
Access Bericht wäre einfacher, da funktioniert ja auch alles.... aber ich kann nichts dazu schreiben, oder ?
Also ich bekomme das weder mit Fokus setzen noch mit dem Recordset gebacken.
Ich finde auch keinen wirklichen Ansatz im Netz.
Hallo,
etwa so (Luftcode, ohne Errorhandler!):
Sub btnWord_Click()
Dim rs as Dao.Recordset
Dim wdApp As Object, wdDoc As Object
Set rs =Me.RecordsetClone
If rs.Recordcount >0 Then
rs.Movefirst
rs.Findfirst "[aktuelle Adresse] <> 0"
If not rs.Nomatch Then
Me.Bookmark = rs.Bookmark
Set wdApp = CreateObject("word.application")
With wdApp
.Visible = True
Set wdDoc = .Documents.Add("C:\Briefvorlage II.dotx")
End With
With wdDoc
.Bookmarks("Vorname").Range =rs!Vorname
.Bookmarks("Name").Range = rs!Nachname
.Bookmarks("Strasse").Range = rs!Straße
.Bookmarks("PLZ").Range = rs!PLZ
.Bookmarks("Ort").Range = rs!Stadt
.Bookmarks("Mandantennummer").Range = rs!Mandantennummer
.Bookmarks("Briefanrede").Range = rs!Briefanrede
.Bookmarks("BAName").Range = rs!Nachname
.Bookmarks("Abrechnungsnummer").Range = rs!Text22
End With
End if
End If
' Dokument speichern, Objekte schließen, Referenzen zerstören
.
wdApp.Quit
Set wdDok =Nothing
Set wdApp =Nothing
rs.Close
Set rs = Nothing
.
.
.
End Sub
Hallo, vielen Dank.
hat so nicht ganz funktioniert.
Hab aber ein bisschen herum experimentiert und irgendwann hat es dann funktioniert.
Ein Problemchen hab ich dann doch noch....
die DB die mir Klaus zusammengebaut hat ist super. Komm ich auch mittlerweile gut mit klar.
Ich hab nur noch ein Problem:
Da ich über den Reiter zugeordnete Personen jeder Person mehrere andere Personen zuordnen kann, stellt sich mir die Frage:
wie kann ich es anstellen, wenn ich einer Person z.B. einen Betreuer "zugewiesen" hab, der ja dann eine eigene Adresse hat,
das ich diese Adresse in verschiedenen Berichten nutzen kann. Also sprich die Berichte der bearbeiteten Vorgänge/Rechnungen einer Person sollen dann an den zugeordneten Betreuer geschickt werden....
Und auch hier wäre es gut wenn es sowohl mit Berichten als auch mit einem "Datenexport" nach Word gehen würde.