Mensen,
Ik ben bezig met een access project, waarbij gegevens in een record ingevoert word. Deze gegevens gaan vervolgens naar een word bestand.
Ik heb nu al wel een knop, dat alles in de tabel naar een word sjabloon gaat, en word ingevult. Nu wil ik ook een knop hebben, om de waarden van 1 enkel record te exporteren op een soortgelijke manier naar een word document.
Alleen heb ik geen idee hoe ik dit kan maken, kan iemand mij hier mischien bij helpen?
Ik zou even mijn code bijvoegen die ik gebruik voor de complete lijst.
Alvast bedankt.
Ik ben bezig met een access project, waarbij gegevens in een record ingevoert word. Deze gegevens gaan vervolgens naar een word bestand.
Ik heb nu al wel een knop, dat alles in de tabel naar een word sjabloon gaat, en word ingevult. Nu wil ik ook een knop hebben, om de waarden van 1 enkel record te exporteren op een soortgelijke manier naar een word document.
Alleen heb ik geen idee hoe ik dit kan maken, kan iemand mij hier mischien bij helpen?
Ik zou even mijn code bijvoegen die ik gebruik voor de complete lijst.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
| Option Compare Database ' De databasevolgorde gebruiken voor het vergelijken van tekenreeksen.
Option Explicit ' Variabelen moeten worden gedeclareerd voor gebruik.
' Acces-Word Merge Code.
Private Const conTemplate As String = "<naam sjabloon>.dot"
Private Const conQuery As String = "<naam query>"
Public Sub MailMerge()
Dim strPath As String
Dim strDataSource As String
Dim doc As Word.Document
Dim wrdApp As Word.Application
On Error GoTo HandleErrors
' Verwijder het RTF bestand, als deze al bestaat.
strPath = FixPath(CurrentProject.Path)
strDataSource = strPath & conQuery & ".doc"
Kill strDataSource
' Exporteer data naar het rtf formaat.
DoCmd.OutputTo acOutputQuery, conQuery, _
acFormatRTF, strDataSource, False
' Start Word gebruikmakend van de ingestelde template.
Set wrdApp = New Word.Application
Set doc = wrdApp.Documents.Add(strPath & conTemplate)
' Merge de gegevens naar een nieuw document.
With doc.MailMerge
.OpenDataSource Name:=strDataSource
.Destination = wdSendToNewDocument
' Blanke regels weghalen?
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
If .State = wdMainAndDataSource Then
.Execute
End If
End With
' Geef het document weer, aan te passen.
wrdApp.Visible = True
ExitHere:
Set doc = Nothing
Set wrdApp = Nothing
Exit Sub
HandleErrors:
Select Case Err.Number
Case 53 ' Bestand niet gevonden.
Resume Next
Case Else
MsgBox Err.Number & ": " & Err.Description
Resume ExitHere
End Select
End Sub
' Wat instellingen met betrekking tot het vinden van het RTF-Bestand.
Private Function FixPath(strPath As String) As String
If Right(strPath, 1) = "\" Then
FixPath = strPath
Else
FixPath = strPath & "\"
End If
End Function
'. Laat de juiste knop het mergeprocess beginnen.
Private Sub Knop<knop#>_Click()
Call MailMerge
End Sub |
Alvast bedankt.