Goedendag allemaal,
ik heb een probleempje met een access bestand, welke ooit gemaakt door een stagiaire. Ik kan een beetje programmeren maar ben geen vb pro helaas.
dit bestand kan door middel van een product te selecteren, 3 bijbehorende documenten uitprinten.
een compositieblad, een blindschema en een bewerkingsvoorschrift. Bij de eerste en de derde komen deze uit de standaard printer. (welke als standaard ingesteld is dus). Maar bij blindschema komt deze uit een andere printer.
er is een knop welke een PRINT functie (of procedure noemen ze dat?) aanroept.
ik kan hierin geen verschil vinden of iets wat mij duidelijk maakt naar welke printer de data moet gaan.
de print word volgens mij uitgevoerd door: DoCmd.OpenReport "NAAM VAN REPORT", acViewNormal
Waar kan ik verder nog kijken?
ik heb al gezocht op de printernaam / ip van de afwijkende printer in het gehele script, deze is niet te vinden. Ook heb ik desbetreffende printer niet eens geinstalleerd.
schiet mij maar lek....
Welke VB / Access Held kan mij helpen?
ik heb een probleempje met een access bestand, welke ooit gemaakt door een stagiaire. Ik kan een beetje programmeren maar ben geen vb pro helaas.
dit bestand kan door middel van een product te selecteren, 3 bijbehorende documenten uitprinten.
een compositieblad, een blindschema en een bewerkingsvoorschrift. Bij de eerste en de derde komen deze uit de standaard printer. (welke als standaard ingesteld is dus). Maar bij blindschema komt deze uit een andere printer.
er is een knop welke een PRINT functie (of procedure noemen ze dat?) aanroept.
ik kan hierin geen verschil vinden of iets wat mij duidelijk maakt naar welke printer de data moet gaan.
de print word volgens mij uitgevoerd door: DoCmd.OpenReport "NAAM VAN REPORT", acViewNormal
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
| Private Sub PRINT_Click()
Dim con As New ADODB.Connection
Dim rstRapport As New ADODB.Recordset
Set con = CurrentProject.Connection
If IsNull([Type_ID]) Then
MsgBox "Selecteer een type!"
[Type_ID].SetFocus
Else
If [Compositieblad] = 0 And [Blindschema] = 0 And [Bewerkingsvoorschrift] = 0 Then
MsgBox "De aantallen van alle drie de documenten staan op nul (0), er worden dan ook geen documenten geprint. Om documenten te printen dient u bij een van de drie documenten tenminste een 1 of hoger in te vullen.", , "PRINT DOCUMENTEN FOUT!"
Else
' Controleer allereerst of het veld COMPOSITIEBLAD
' een waarde die hoger is als nul (0), want als dit niet het geval is
' dan hoeft dit document ook niet te worden uitgeprint
If [Compositieblad] > 0 Then
' Optie staat aangevinkt en het document kan dan ook
' worden geprint.
For i = 1 To [Compositieblad]
DoCmd.OpenReport "COMPOSITIEBLAD", acViewNormal
Next
End If
' Controleer allereerst of het veld BLINDSCHEMA
' een waarde heeft die hoger dan nul (0) heeft, want als dit niet het geval is
' dan hoeft dit document ook niet te worden uitgeprint
If [Blindschema] > 0 Then
Dim rsBS As New ADODB.Recordset
rsBS.Open "SELECT * FROM PRINTEN_DOCUMENTEN WHERE PRINTEN_DOCUMENTEN.Type_ID='" & [Type_ID] & "'", con, adOpenStatic, adLockPessimistic
Dim aantal As Integer
Dim teller As Integer
aantal = 0
teller = 0
aantal = rsBS.RecordCount
For teller = 1 To aantal
' Print de documenten die behoren bij de gekozen type
' en de juiste aantallen
For i = 1 To [Blindschema]
DoCmd.OpenReport rsBS!Rapport, acViewNormal
Next
rsBS.MoveNext
Next
teller = 0
aantal = 0
End If
' Controleer allereerst of het veld BEWERKINGSVOORSCHRIFT
' een waarde heeft die hoger als nul (0) is, want als dit niet het geval is
' dan hoeft dit document ook niet te worden uitgeprint
If [Bewerkingsvoorschrift] > 0 Then
Dim rsBV As New ADODB.Recordset
Dim strBV As String
Dim aantalBV As Integer
rsBV.Open "SELECT * FROM PRODUCTIEVOORSCHRIFT WHERE TYPE_ID='" & [Type_ID] & "'", con, adOpenStatic, adLockPessimistic
aantalBV = rsBV.RecordCount
If aantalBV <> 0 Then
' Print de documenten die behoren bij de gekozen type
' en print de juiste aantallen
For i = 1 To [Bewerkingsvoorschrift]
DoCmd.OpenReport "Bewerkingsvoorschrift", acViewNormal
Next
End If
' zet de variabelen op nul
aantalBV = 0
' sluit het recordset rsBV
rsBV.Close
End If
' geef de gebruiker/operator een melding dat de document succesvol zijn geprint
' en geef ook aan welk document geprint is.
Dim strPrintDocu As String
Dim intPrintDocu As Integer
intPrintDocu = 0
If [Compositieblad] > 0 Then
strPrintDocu = "Compositieblad"
intPrintDocu = 1
End If
If [Blindschema] > 0 Then
If intPrintDocu = 0 Then
strPrintDocu = "Blindschema"
intPrintDocu = 1
Else
strPrintDocu = strPrintDocu & " & Blindschema"
intPrintDocu = 2
End If
End If
If [Bewerkingsvoorschrift] > 0 Then
If intPrintDocu = 0 Then
strPrintDocu = "Bewerkingsvoorschrift"
intPrintDocu = 1
Else
strPrintDocu = strPrintDocu & " & Bewerkingsvoorschrift"
intPrintDocu = 2
End If
End If
If intPrintDocu = 1 Then
MsgBox "Het document (" & strPrintDocu & ") is geprint."
End If
If intPrintDocu > 1 Then
MsgBox "De volgende documenten (" & strPrintDocu & ") zijn geprint."
End If
End If
End If
End Sub |
Waar kan ik verder nog kijken?
ik heb al gezocht op de printernaam / ip van de afwijkende printer in het gehele script, deze is niet te vinden. Ook heb ik desbetreffende printer niet eens geinstalleerd.
schiet mij maar lek....
Welke VB / Access Held kan mij helpen?