Toon posts:

[VB Access] Mailto button werkt na 1 keer klikken niet meer?

Pagina: 1
Acties:
  • 159 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb een formulier ontworpen waarin een gebruiker gegevens kan invoeren.
Als men klaar is met het invoeren van deze gegevens kan met op de knop mail drukken waarna er op de achtergrond een rapport wordt aangemaakt die dezelfde waardes aanneemt als het formulier, waarna het automatisch als mail attachment word toegevoegd (Als plaatje nml .snp (snapshot)) .

Als ik één keer op de mail button klik werkt het gewoon en wordt outlook geopend en wordt er een screenshot van het rapport toegevoegd als bijlage. Het gekke is dat als ik nogmaal op de mail button klik er niets meer gebeurd. Hij laad heel ef maar doet verder niets en opend geen outlook. Ik moet de database vervolgens afsluiten en opnieuw starten wil het weer werken.

Wat gaat er fout?


Code achter het formulier - de mail button:
code:
1
2
3
4
5
Private Sub Knop37_Click()

   DoCmd.OpenReport "KASPER - gelebriefjerapport", acViewPreview
   
End Sub


Code achter het rapport "KASPER - gelebriefjerapport"
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
Private Sub Report_Activate()

(Hier nemen de velden op het rapport dezelfde waarde aan als het zojuist ingevulde formulier)

Tekst0 = Forms!KASPERgelebriefjeform.Tekst0
Tekst2 = Forms!KASPERgelebriefjeform.Tekst2
Tekst4 = Forms!KASPERgelebriefjeform.Tekst4
Tekst6 = Forms!KASPERgelebriefjeform.Tekst6
Tekst8 = Forms!KASPERgelebriefjeform.Tekst8
Tekst10 = Forms!KASPERgelebriefjeform.Tekst10
Selectievakje28 = Forms!KASPERgelebriefjeform.Selectievakje28
Selectievakje30 = Forms!KASPERgelebriefjeform.Selectievakje30
Selectievakje32 = Forms!KASPERgelebriefjeform.Selectievakje32
Selectievakje34 = Forms!KASPERgelebriefjeform.Selectievakje34

Dim strMessage2 As String

strMessage2 = "Wij hebben u niet aangetroffen op uw werkplek (zie bijlage)." & vbLf & vbLf & "Voor eventuele vragen kunt contact met ons op nemen." & vbLf & _
    "Vermeld svp het ticketnummer." & vbLf & vbLf & vbLf & _
    "Met vriendelijke groeten," & vbLf & vbLf & _
    "Afdeling Automatisering" & vbLf & vbLf & _
    "tel 026 -378 6666" & vbLf & "helpdesk@alysis.nl"

DoCmd.SendObject acSendReport, "KASPER - gelebriefjerapport", acFormatSNP, "Hier e-mail invoeren", , , "Helpdesk I&A: Afwezigheid werkplek", strMessage2

DoCmd.Close acReport, "KASPER - gelebriefjerapport"


End Sub

Ik heb het op deze manier gedaan omdat een formulier niet makkelijk geexporteerd kan worden naar een mailtje. (maken van screenshot niet mogelijk)
Dit is bij een rapport juist wel goed mogelijk!

Help ;'(

[ Voor 6% gewijzigd door Verwijderd op 30-11-2004 12:52 ]


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 20:44

Creepy

Tactical Espionage Splatterer

Zou je misschien eens code tags willen gebruiken voor je code zodat je code
code:
1
op deze manier
getoond wordt? ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Topicstarter
Creepy schreef op dinsdag 30 november 2004 @ 12:42:
Zou je misschien eens code tags willen gebruiken voor je code zodat je code
code:
1
op deze manier
getoond wordt? ;)
hij valt nu wel behoorlijk breed uit ;E

  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

Lijkt erop alsof het Activate-event van het rapport maar 1 keer wordt uitgevoerd. Deze event vind alleen plaats al het rapport zichtbaar is, is het rapport de 2e keer wel zichtbaar?

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.


Verwijderd

Topicstarter
zwippie schreef op dinsdag 30 november 2004 @ 13:03:
Lijkt erop alsof het Activate-event van het rapport maar 1 keer wordt uitgevoerd. Deze event vind alleen plaats al het rapport zichtbaar is, is het rapport de 2e keer wel zichtbaar?
ik heb onderaan in het rapport
DoCmd.Close acReport, "KASPER - gelebriefjerapport" geplaatst.
Nadat het rapport word geopend en de mail word gegenereerd sluit hij het rapport automatisch zodat alleen het oorspronkelijke formulier op de voorgrond blijft ipv dat het rapport wordt getoond. Het zou overbodig zijn om nml het rapport te tonen want hier kan de gebruiker verder toch niets mee. Als ik de sluit regel weghaal gebeurd er precies hetzelfde en wordt outlook ook niet meer geopend. Het rapport wordt dan gewoon duidelijk getoond maar outlook wil hij niet starten.
De eerste keer werkt het, de 2de en volgende keren dus niet... Waar heeft dit toch mee te maken ;(

  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

Access formulieren/rapporten kennen geen Unload methode meen ik, anders had het unloaden van het rapport er misschien voor gezorgd dat de volgende activate goed wordt opgepikt.

Je zou daarom bij het drukken op de knop: een kopie van het rapport kunnen maken (CopyObject), dit rapport versturen (bekend) en dan het rapport verwijderen (DeleteObject).
Beetje omslachtig misschien, maar omdat je bij elke druk op de knop een echt nieuw rapport maakt, zal er ook bij elke druk op de knop een Activate event plaatsvinden (hoop ik).

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.


Verwijderd

Topicstarter
zwippie schreef op dinsdag 30 november 2004 @ 13:31:
Access formulieren/rapporten kennen geen Unload methode meen ik, anders had het unloaden van het rapport er misschien voor gezorgd dat de volgende activate goed wordt opgepikt.

Je zou daarom bij het drukken op de knop: een kopie van het rapport kunnen maken (CopyObject), dit rapport versturen (bekend) en dan het rapport verwijderen (DeleteObject).
Beetje omslachtig misschien, maar omdat je bij elke druk op de knop een echt nieuw rapport maakt, zal er ook bij elke druk op de knop een Activate event plaatsvinden (hoop ik).
Klinkt goed, ga het straks uitproberen!

Verwijderd

Topicstarter
zwippie schreef op dinsdag 30 november 2004 @ 13:31:
Access formulieren/rapporten kennen geen Unload methode meen ik, anders had het unloaden van het rapport er misschien voor gezorgd dat de volgende activate goed wordt opgepikt.

Je zou daarom bij het drukken op de knop: een kopie van het rapport kunnen maken (CopyObject), dit rapport versturen (bekend) en dan het rapport verwijderen (DeleteObject).
Beetje omslachtig misschien, maar omdat je bij elke druk op de knop een echt nieuw rapport maakt, zal er ook bij elke druk op de knop een Activate event plaatsvinden (hoop ik).
Ik ben er nog niet helemaal achter helaas :'(

Ik heb nu het volgende:

Form: KASPERgelebriefjeform
code:
1
2
3
4
5
6
Private Sub Knop37_Click()

DoCmd.CopyObject , "KASPER - gelebriefjerapportCOPY", acReport, "KASPER - gelebriefjerapport"
DoCmd.OpenReport "KASPER - gelebriefjerapportCOPY", acViewPreview
   
End Sub


Rapport: KASPER - gelebriefjerapport
code:
1
2
3
4
5
6
Private Sub Report_Activate()

DoCmd.SendObject acSendReport, "KASPER - gelebriefjerapportCOPY", acFormatSNP, "Hier e-mail invoeren", , , "Helpdesk I&A: Afwezigheid werkplek", strMessage2
DoCmd.Close acReport, "KASPER - gelebriefjerapportCOPY"

End Sub


De delete functie heb ik effe tijdelijk weggelaten omdat hij zo al niet werkt.
Foutmelding: "Fout bij het verkrijgen van toegang tot een bestand. Mogelijk de netwerk verbinding verbroken."

Wat gaat hier fout? het lijkt wel alsof hij eerst gaat checken of er een rapport bestaat dat KASPER - gelebriefjerapportCOPY heet, maar als ik die gewoon aanmaak dan krijg ik nog steeds de foutmelding bij het openen van het formulier.

help!!!

Verwijderd

Topicstarter
ik heb al een idee hoe het komt, het COPYrapport blijft in de lijst van Microsoft Access klasseobjecten bestaan. ALs ik die probeer te openen geeft hij de error. Hoe moet ik in godsnaam die regel verwijderen?

ena ls ik de delete functie gebruik, verwijderd hij deze regel dan wel...? en waar moet ik de delete functie neerzetten? bij het activeren van de gelebriefjesform? want dan moet er bij de eerste keer alwel een COPy bestand bestaan anders geeft hij een error

Verwijderd

Topicstarter
vergeet de 2 reacties die hierboven staan, dat netwerkblabla probleem heb ik niet meer. Maar ik ben er nu wel achter dat jouw manier zwippie helaas niet werkt. Op een één of andere manier activeerd hij het rapport niet opnieuw waardoor ik nog steeds het probleem heb.
Is er geen manier om een rapport te de-activeren met een command?
Of weet iemand mischien een andere oplossing?

Verwijderd

Topicstarter
ok ik ben er nu achter dat hij het rapport WEL opnieuw activeerd want het rapport word ook afgesloten als de mail button na de eerste keer wordt geclicked. Het probleem is echter dat hij het DoCmd.SendObject command niet voor de 2de en daarop volgende keren uitvoerd...
waarom :"(
Pagina: 1