Emailen van rapporten

Status
Niet open voor verdere reacties.

Rommyke

Gebruiker
Lid geworden
29 mrt 2007
Berichten
357
Met onderstaande code verstuur ik mijn rapport

Code:
 stDocName = "RPTPersbestand_Crosstab"
    DoCmd.SendObject acReport, stDocName, acFormatSNP

Met onderstaande code laat ik een preview zien via een criteria
Code:
DoCmd.Maximize
    stDocName = "RPTPersbestand_Crosstab"
    DoCmd.OpenReport stDocName, acViewPreview, "QRYpersbestand", "[Afdelingsnaam]  " & strDepartment
    DoCmd.RunCommand acCmdFitToWindow

Om nu een rapport per email te verzenden met een bepaalde criteria open ik nu eerst mijn rapport in preview en dan email ik mijn rapport.

Is dit niet rechtstreeks mogelijk zonder eerst preview te openen?
 
Denk het gevonden te hebben

Gebruik nu volgende code achter het onclick event van email verzenden( heb de 2 code bij elkaar gevoegd achter het onclick event )

Code:
Private Sub cmd_email_Click()

    Dim stDocName As String
    Dim strDepartment As String


  stDocName = "RPTFunctieBezetting"
  DoCmd.OpenReport stDocName, acViewPreview, "QRYpersbestand", "[afdelingsnaam]" & strDepartment
  DoCmd.SendObject acReport, stDocName, acFormatSNP, , , , "Automatisch rapport van Funktiebezetting"
    DoCmd.Close acReport, stDocName

Moest er iemand een beter oplossing weten laat maar komen


Groetjes

Romain
 
Laatst bewerkt:
Hoi allemaal ,

Ik ben nog aan het proberen om de emails naar multi recipients te zenden
De email adressen haal ik uit een personeels bestand via een Query

Het probleem is nu echter dat ik deze regel
"Select Personeel.[EmailWerk] From Personeel where (((Personeel.LeadingFunktion)=-1))"
in mijn email krijg als verzender naar en niet mijn email adressen ?

Iemand een idee ?


Code:
Private Sub cmd_email_Click()

    Dim stDocName As String
    Dim strRecipients As String
    Dim strDepartment As String
    
    
    If Len(Nz(Me.CmbAfdFunctie.Value)) = 0 Then
        strDepartment = " Like '*'"
    Else
        strDepartment = "='" & Me.CmbAfdFunctie.Column(0) & "'"
    End If
    
stDocName = "RPTFunctieBezetting"
    strRecipients = "Select Personeel.[EmailWerk] From Personeel where (((Personeel.LeadingFunktion)=-1))"
    DoCmd.OpenReport stDocName, acViewPreview, "QRYpersbestand", "[afdelingsnaam]" & strDepartment
    DoCmd.SendObject acReport, stDocName, acFormatSNP, strRecipients, , , "Automatisch rapport van Funktiebezetting"
    DoCmd.Close acReport, stDocName

end sub

Bedankt
 
Hoi allemaal ,

ben er alweer en ben ondertussen een heel deel verder geraakt
Volgende code heb ik ondertussen kunnen maken

Code:
Private Sub cmd_email_Click()

    Dim stDocName As String
    Dim strRecipients As String
    Dim strDepartment As String
    Dim rst As DAO.Recordset
    Dim strsql As String
    
 
   strsql = "Select Personeel.[EmailWerk] From Personeel where (((Personeel.LeadingFunktion)=-1))"
    Set rst = CurrentDb.OpenRecordset(strsql)
    Do While Not rst.EOF
    strRecipients = strRecipients & ";" & rst!EmailWerk
    rst.MoveNext
    Loop
    strRecipients = Right(strRecipients, Len(strRecipients) - 1)

 If Len(Nz(Me.CmbAfdFunctie.Value)) = 0 Then
        strDepartment = " Like '*'"
    Else
        strDepartment = "='" & Me.CmbAfdFunctie.Column(0) & "'"
    End If
    
stDocName = "RPTFunctieBezetting"
    DoCmd.OpenReport stDocName, acViewPreview, "QRYpersbestand", "[afdelingsnaam]" & strDepartment
    DoCmd.SendObject acReport, stDocName, acFormatSNP, strRecipients, , , "Automatisch rapport van Funktiebezetting"
    DoCmd.Close acReport, stDocName

 rst.Close
    Set rst = Nothing
end sub

Nu zou ik graag hier nog 1 stap verder in willen gaan .

Elke persoon die verantwoordelijk is voor een bepaalde afdeling stuur ik een rapport.
Gelijk ik het nu gemaakt heb, krijgt elk persoon die verantwoordelijk is voor een afdeling alle rapporten.(ook die van een andere afdeling ).
Ik kan wel selecteren op een bepaalde afdeling zodat ik enkel het rapport krijg van die afdeling . Maar als ik dit per email verzend krijgen alle verantwoordelijke dit rapport .
Kan ik hier nergens een criteria in steken dat enkel de persoon die verantwoordelijk voor zijn afdeling de rapporten krijgt van zijn afdeling met uitzondering van bv de baas die wel alle rapporten mag krijgen ??

Bedankt
 
Laatst bewerkt:
Elke persoon die verantwoordelijk is voor een bepaalde afdeling stuur ik een rapport.
Gelijk ik het nu gemaakt heb, krijgt elk persoon die verantwoordelijk is voor een afdeling alle rapporten.(ook die van een andere afdeling ).
Ik kan wel selecteren op een bepaalde afdeling zodat ik enkel het rapport krijg van die afdeling . Maar als ik dit per email verzend krijgen alle verantwoordelijke dit rapport .
Kan ik hier nergens een criteria in steken dat enkel de persoon die verantwoordelijk voor zijn afdeling de rapporten krijgt van zijn afdeling met uitzondering van bv de baas die wel alle rapporten mag krijgen ??

In mijn personeelstabel houd ik ook bij wie aan wie rapporteerd.

Is het misschien niet mogelijk en/of makkelijker om afhankelijk van wie het rapport door mailed (bv persoon A) het rapport door te sturen naar persoon B (aan wie hij moet rapporteren) en ook naar wie op zijn beurt Persoon B moet rapporteren de mail ook doorgestuurd wordt naar Persoon C tot ge helemaal boven aan de lader zit ??
 
Heb naar vele oplossingen zitten zoeken .

Maar dit lijkt me bijna niet te realiseren of toch zeker niet op een gemakkelijke manier .
 
Kan in principe wel.
Daarbij moet je je tabel met zichzelf joinen op afdeling.
Vraagt wel wat kennis van queries en VBA, en dat zul je toch zelf moeten doen.

Groet,

Tardis
 
Sorry Romain,

je vragen gaan me te diep, ik ben geen onbezoldigd programmeur.
Zelf oplossen, of iemand inhuren, of laten zitten.

Groet en succes,

Tardis
 
je vragen gaan me te diep, ik ben geen onbezoldigd programmeur.
Zelf oplossen, of iemand inhuren, of laten zitten.

geeft niks Tardis.

Vermits vragen al redelijk diep gaan wil het toch al zeggen dat ik al iets vooruitgang heb geboekt in access , wetende dat ik een maand of 2 geleden access nog nooit geopend had.
Bij mijn opbouw blijft ik ook altijd verder zoeken en graven zoals je hier wel kunt zien (6X op mijn eigen geantwoord) :)

Wie al mijn topic's zou volgen zou al hele mooie dingen kunnen maken .

Zoals ik al in een vorig topic gezegd heb komt het meeste van wat ik weet van u en guus.
Denk dat er vele vragen onopgelost zou blijven moest je niet op dit forum zitten.
Toch al mijn dank voor al de aangeboden hulp. en die ik nog nodig ga hebben :p

Misschien komt er nog iemand anders langs die bij dit topic om even te helpen maar ik vrees ervoor .
Ben niet iemand die snel opgeeft , dus wordt het zelf zoeken . en later zelf programmeur worden :p



Groetjes
Romain
 
Laatst bewerkt:
Vermits vragen al redelijk diep gaan wil het toch al zeggen dat ik al iets vooruitgang heb geboekt in access

Als je dit alles in 2 maanden voor elkaar krijgt, dan heb je je roeping gemist :D
En ook nog eens je vragen vrij duidelijk kunnen formuleren, da's wel een vrij unieke kombinatie ;)

Probeer anders eerst eens of je een query kan maken waarin je per afdeling alle personen weergeeft inclusief degenen aan wie ze rapporteren.
Hint, je zult waarschijnlijk de tabel met zichzelf moeten koppelen.
Als dat lukt, is de rest in principe a piece of cake.

Groet,

Tardis
 
Oke Tardis ,

Merciekes voor de info , zal hier wel een heel eind verder mee geraken .
Moest ik er niet uitgeraken laat ik nog iets weten .;)

En het wordt misschien te weinig gezegd maar dit forum mag blij zijn met uw aanwezigheid.

En ook nog eens je vragen vrij duidelijk kunnen formuleren, da's wel een vrij unieke kombinatie

Zal door mijne leeftijd komen :p


By the way , als je programmeur bent is dit wel een goede plaats om u geoeffend te houden .... Zeker met charels zoals ik ertussen :D

Groetjes en bedankt
Romain
 
Laatst bewerkt:
als je programmeur bent is dit wel een goede plaats om u geoeffend te houden

Of als je ambitie hebt om programmeur te worden.
Daar heb ik gelukkig geen last van :D

Groet,

Tardis
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan