Access 2010 database met runtime 2010

Status
Niet open voor verdere reacties.

galletje

Gebruiker
Lid geworden
8 jun 2010
Berichten
70
Beste Forum gebruikers,

Dankzij jullie hulp heb ik na veel zweten een datebase gemaakt voor het registreren van sommige zaken. Deze werkt perfect in access 2010.
Nu komt het probleem, sommige gebruikers hebben geen access 2010 dus gebruiken we hiervoor de runtime 2010 versie. De database werk volledig op 1 onderdeel na. Het versturen van een een PDF report met onderstaande code word niet meer uitgevoerd. Na het drukken op de verzend knop hoort outlook te openen maar dit gebeurt op de gebruiker pc dus niet in office 2007. Er volgt ook geen enkele foutmelding.

De code die ik hiervoor gebruik is als volgend in 2010:
Code:
Private Sub Knop73_Click()

'Behind a comand button save the report as PDF file
Dim strReportName As String
Dim strCriteria As String

'Save record
If Me.Dirty Then Me.Dirty = False

strReportName = "rpt_transportAanmelden"
strCriteria = Me!ID
strKlant = Me!bedrijf
strmail = Me!Email
strmail1 = Me!email1
Strmail2 = Me!Email2
Strbedrijf = Me!bedrijf
strbrandwacht = Me!project
StrPlaats = Me!Uitvoerder
Stropmerk = Me!Leverancier
Strlever = Me!Levering
Strcontact = Me!Contactpersoon


'Save record
If Me.Dirty Then Me.Dirty = False

'ID in globale Variabele plaatsen
gstrReportFilter = "ID=" & Me!ID

'Variabelen van rapportnamen vullen
strTempRapportNaam = "Transport aanvraag " & Me!ID
strRapportNaam = "rpt_transportAanmelden"

'Rapportnaam hernoemen naar tijdelijke rapportnaam (incl. ID nr.)
DoCmd.Rename strTempRapportNaam, acReport, strRapportNaam

'Trigger naar foutafhandeling
On Error GoTo err_Error_handler

DoCmd.SendObject acSendReport, strTempRapportNaam, acFormatPDF, strmail, strmail1 & ";" & Strmail2, , "Aanmelden transport", "Beste Veiligheidsmedewerker van het project " & strbrandwacht & vbCrLf & vbCrLf & "Hierbij ontvangt U een aanmelding voor het leveren van goederen. Het betreft hier een aanvraag voor het project " & strbrandwacht & vbCrLf & "De goederen zullen worden geleverd door " & Stropmerk & " De opdrachtgever hiervoor is het bedrijf " & Strbedrijf & "." & vbCrLf & vbCrLf & "De levering zal bestaan uit o.a de volgende goederen: " & vbCrLf & Strlever & vbCrLf & vbCrLf & "NOTE VOOR AANVRAGER: De aangevraagde datum en tijd zal door onze veiligheidsmedewerker worden bevestigd per mail op het door u opgegeven email adres." & vbCrLf & vbCrLf & vbCrLf & "Met vriendelijk groet," & vbCrLf & vbCrLf & Strbedrijf & vbCrLf & Strcontact, True

'Programma hervatten na foutafhandeling
exit_Error_handler:
 On Error Resume Next

'Rapportnaam hernoemen naar originele rapportnaam
DoCmd.Rename strRapportNaam, acReport, strTempRapportNaam

'Sluit formulier
DoCmd.Close acForm, "frm_transportExtern", acSaveYes

'Open menu
DoCmd.OpenForm "frm_menuextern", acNormal, , , acFormReadOnly, acDialog


'Afhandeling van Fouten, zodat het rapport altijd de Originele rapportnaam terug krijgt
err_Error_handler:
 Select Case Err.Number
  'fout 287
  Case 2501
   MsgBox "E-mailverzending door de gebruiker geannuleerd.", vbInformation
 End Select

'Jump naar hervatten na foutafhandeling
 Resume exit_Error_handler
End Sub

Is deze code misschien niet geschikt voor outlook 2007 in combinatie met runtime 2010 access.

Hoor graag hoe ik dit eventueel kan verhelpen.

Groeten en alvast bedankt John
 
Sendcommand gebruikt de default mailclient, dus daar kun je weinig aan instellen. Hooguit kun je in de voorbeeldcode die regel wat netter (en leesbaarder) opmaken:
Code:
DoCmd.SendObject acSendReport, strTempRapportNaam, acFormatPDF, strmail, strmail1 & ";" & Strmail2, , _
    "Aanmelden transport", "Beste Veiligheidsmedewerker van het project " & strbrandwacht & vbCrLf & vbCrLf _
    & "Hierbij ontvangt U een aanmelding voor het leveren van goederen. Het betreft hier een aanvraag voor het project " _
    & strbrandwacht & vbCrLf & "De goederen zullen worden geleverd door " & Stropmerk & " De opdrachtgever hiervoor is het bedrijf " _
    & Strbedrijf & "." & vbCrLf & vbCrLf & "De levering zal bestaan uit o.a de volgende goederen: " & vbCrLf & Strlever & vbCrLf & vbCrLf _
    & "NOTE VOOR AANVRAGER: De aangevraagde datum en tijd zal door onze veiligheidsmedewerker worden bevestigd per mail op het door u opgegeven email adres." _
    & vbCrLf & vbCrLf & vbCrLf & "Met vriendelijk groet," & vbCrLf & vbCrLf & Strbedrijf & vbCrLf & Strcontact, True
Maar ik zou dus niet weten waarom SendObject een fout geeft in de runtime. Ik zal daar morgen eens een test mee doen. Overigens is je runtime vermoedelijk in 2007 format, wat in beginsel identiek is aan 2010 dus daar zou Outlook al helemaal geen probleem mee mogen hebben.
En alternatief is nog dat je Sendobject links laat liggen (toch een beperkt protocol) en een Outlook sessie gebruikt, bij voorkeur met Late Binding i.v.m. de versie verschillen bij de gebruikers.
 
Beste Michel,

De runtime die ik heb geïnstalleerd is de 2010 versie. Als je dit zou kunnen testen inderdaad graag. Ik kan je ook de link mailen waar je de database vandaan kan halen eventueel mocht je dat nodig hebben. En is de code om te bouwen zoals ik hem nu gebruik(welke ik gedeeltelijk van jou heb geleerd) naar een outlook verzie met late binding.(dit zegt mijn namelijk echt helemaal niks) Als je hierin zou willen ondersteunen zou ik geholpen.

Greetings

John
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan