Hallo liebe Leute,
ich habe eine Datenbank bisher mit einer Tabelle "Daten" in Access. Über ein Formular kann ich neue User anlegen.
Die Tabelle hat Attribute wie Nachname, Vorname, Geburtsdatum usw.
Mit dem folgenden Code habe ich es hinbekommen, aus einer bestehenden Word-Vorlage (Tabelle) mittels Textmarken die Daten der User in Word-Files zu schreiben und zu speichern.
Problem an der ganzen Sache ist: der Code tut es für alle. Ich hätte jetzt aber gerne die Möglichkeit, einen User in der Tabelle "Daten" auszuwählen und nur für diesen die Word-Datei zu erstellen und die Daten aus der Datenbank-Tabelle zu schreiben. Wie müsste man den Code abwandeln? Ich dachte hierbei daran an Do.Cmd.GoTo oder Select, bin mir aber nicht ganz sicher. Hoffe, ihr könnt mir helfen! Bin neu in VBA.
Grüße
DerProgrammierer1993
"
Option Compare Database
Option Compare Database
Public Sub ExportNameToWord()
Dim wApp As Word.Application
Dim wDoc As Word.Document
Dim rs As DAO.Recordset
Set wApp = New Word.Application
Set wDoc = wApp.Documents.Open("C:\Users\Desktop\Datendokument.docx")
Set rs = CurrentDb.OpenRecordset("tbl_Daten")
If Not rs.EOF Then rs.MoveFirst
Do Until rs.EOF
wDoc.Bookmarks("Nachname").Range.Text = Nz(rs!Nachname, "")
wDoc.Bookmarks("Vorname").Range.Text = Nz(rs!Vorname, "")
wDoc.Bookmarks("Geburtsdatum").Range.Text = Nz(rs!Geburtsdatum, "")
wDoc.Bookmarks("Straße").Range.Text = Nz(rs!Straße, "")
wDoc.Bookmarks("Nummer").Range.Text = Nz(rs!Hausnummer, "")
wDoc.Bookmarks("PLZ").Range.Text = Nz(rs!PLZ, "")
wDoc.Bookmarks("Telefon").Range.Text = Nz(rs!Telefon, "")
wDoc.Bookmarks("Mailadresse").Range.Text = Nz(rs!Mailadresse, "")
wDoc.SaveAs2 "C:\Users\Desktop\" & rs!ID & "_Datendokument.docx"
wDoc.Bookmarks("Nachname").Range.Delete wdCharacter, Len(Nz(rs!Nachname, ""))
wDoc.Bookmarks("Vorname").Range.Delete wdCharacter, Len(Nz(rs!Vorname, ""))
wDoc.Bookmarks("Geburtsdatum").Range.Delete wdCharacter, Len(Nz(rs!Geburtsdatum, ""))
wDoc.Bookmarks("Straße").Range.Delete wdCharacter, Len(Nz(rs!Straße, ""))
wDoc.Bookmarks("Nummer").Range.Delete wdCharacter, Len(Nz(rs!Hausnummer, ""))
wDoc.Bookmarks("PLZ").Range.Delete wdCharacter, Len(Nz(rs!PLZ, ""))
wDoc.Bookmarks("Telefon").Range.Delete wdCharacter, Len(Nz(rs!Telefon, ""))
wDoc.Bookmarks("Mailadresse").Range.Delete wdCharacter, Len(Nz(rs!Mailadresse, ""))
rs.MoveNext
Loop
wDoc.Close False
wApp.Quit
Set wDoc = Nothing
Set wApp = Nothing
Set rs = Nothing
End Sub
"
|