Toon posts:

[VBA] aanroep van Sender oid

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een formulier met een knop erop. Op dat formulier staan ook nog een aantal velden met klantgegevens erin. Ik heb nou een functie waarin je op kan geven hoe je iets wil afdrukken.
De volgende code plaats ik bij event onClick:
code:
1
=afdrukken("rapport";"rapportnaam";"bedrijfstak";"beeld of afdrukken")

Dit roept de volgende code aan.
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
Function afdrukken(strObjectType, strObjectName, Company, View As Boolean) As Boolean
'strObjectType = Rapport of Formulier
'strObjectName = Naam van het rapport of formulier
'Company = CSI of INNO
'View = Ja(afdrukvoorbeeld), Nee(afdrukken)

Dim ObjectExists As Boolean
Dim db As Database
Dim frm As Form
Dim rpt As Report
Dim i As Integer
Set db = CurrentDb()

  If strObjectType = "Formulier" Then
    strObjectType2 = "Form"
  ElseIf strObjectType = "Rapport" Then
    strObjectType2 = "Report"
  Else
    MsgBox "Alleen afdrukken van 'Rapport' en 'Formulier' zijn mogelijk!"
    Exit Function
  End If
  ObjectExists = False
  If strObjectType2 = "Form" Or strObjectType2 = "Report" Then
    For i = 0 To db.Containers(strObjectType2 & "s").Documents.Count - 1
      If db.Containers(strObjectType2 & "s").Documents(i).Name = strObjectName Then
        ObjectExists = True
        Exit For
      End If
    Next i
  If ObjectExists Then
    If strObjectType = "Rapport" Then
      If View = True Then ViewType = acViewPreview Else ViewType = acViewNormal
      BedrijfsTak = Company
      Rapport = strObjectName
      DoCmd.OpenReport strObjectName, ViewType
    ElseIf strObjectType = "Formulier" Then
      If View = True Then ViewType = acPreview Else ViewType = acNormal
      DoCmd.OpenForm strObjectName, ViewType
    End If
  Else
    MsgBox strObjectType & " '" & strObjectName & "'" & " bestaat niet!"
  End If
End If
End Function


Op het rapport moet de klantnaam in de kop komen te staan die uit het formulier gehaald word. Nou zou ik dus graag willen kunnen achterhalen door welk formulier bovenstaande code aangeroepen werd. De klantnaam op het rapport wil ik pas bij het opmaken vullen. Momenteel kijk ik welke formulier als laatste geopend is en ga ervan uit dat dit formulier het rapport aangeroepen heeft. Niet helemaal de correcte manier dus. Iemand suggesties?

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

suggestie: farlane in je vorige topic
CALL myFunc(me)
icm
function myfunc(frmreport as object)

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland