Na verzenden email terug naar huidig record

Status
Niet open voor verdere reacties.

oosthoek

Gebruiker
Lid geworden
7 jan 2013
Berichten
49
Hallo,

Ik ben pas begonnen met Access en heb niet veel kennis van visual basic. Op internet deze code gevonden voor het verzenden van een rapport per email vanuit een formulier, dit werkt goed alleen als de mail verzonden is keert het formulier terug naar het eerste record. bijvoorbeeld ik verstuur de mail vanuit het formulier van record 17 en dit wordt ook keurig verzonden maar na het verzenden staat het formulier weer op record 1 Ik gebruik hiervoor onderstaande code



Code:
Private Sub Knop18_Click()

   DoCmd.OpenReport "Werkbon", acPreview, , "[id]= " & Me.id
 Me.FilterOn = True
 ' Send a PDF of the form to an email
 'DoCmd.OutputTo acOutputForm, "YourFormName", "PDFFormat(*.pdf)"

DoCmd.SendObject acReport, "werkbon", "PDFFormat(*.pdf)", "", CC, "", "Werkbon", , True, ""
 ' Close the form
 DoCmd.Close acReport, "werkbon", acSaveNo

 Me.Filter = ""
 Me.FilterOn = False

End Sub]


Heeft iemand hier een oplossing voor dat het formulier weer terug keert naar het het record waarvan uit de mail verzonden is.

Alvast bedankt.
 
Laatst bewerkt:
Ik zie zo snel niet waarom je überhaupt het eerste record zou zien na het mailen; tenzij je ergens nog een code hebt staan die het formulier ververst, wat uiteraard niet nodig is. Je wilt alleen een rapport versturen. Zelf gebruik ik deze constructie zo ook, maar ik heb dit probleem nog niet meegemaakt.
 
Michel, bedankt voor je snelle reactie misschien heb ik de code ook van u, ik heb de code een beetje aangepast zoals hieronder en dan lijkt het probleem opgelost maar ik weet niet zeker of dit correct is. Er is geen andere vba code in het bestand

Code:
Private Sub Knop18_Click()
DoCmd.OpenReport "Werkbon", acPreview, , "[id]= " & Me.id


DoCmd.SendObject acReport, "werkbon", "PDFFormat(*.pdf)", "", CC, "", "Werkbon", , True, ""
 ' Close the form
 DoCmd.Close acReport, "werkbon", acSaveNo


End Sub
 
Laatst bewerkt:
Doordat je het formulier eerst filterde met Me.FilterOn = True (zonder overigens een zichtbaar filter te hebben) en daarna met
Code:
Me.Filter = "" 
Me.FilterOn = False
het filter weer uit zet, krijg je inderdaad een refresh op het formulier. En die is dus niet nodig.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan