Vanuit Access formulier een mail verzenden.

Status
Niet open voor verdere reacties.

maxtorhd

Gebruiker
Lid geworden
25 mei 2009
Berichten
5
Wie weet een oplossing voor het volgende probleem. Ik heb voor de Historische ver. Een Access 2007 enkelvoudig Formulier met daarin ruim 3000 records, teksten en afbeeldingen. (±110mb)
Nu is het de bedeling dat de database beperkt aan derde wordt gegeven, zodat als men aanvullingen weet dit naar mij kan opzenden.
Via een knop kan ik een object verzenden, door een extra (zo kaal mogelijk) formulier kan ik reeds alleen de teksten verzenden, maar dit is toch nog 5mb in een mail. Dit werkt. Maar dit is te veel.

Van het formulier dat ik op dat moment heb voorstaan wil ik de tekst gegevens worden geplaatst in een mailbericht.
Via een [Gebeurtenisprocedure] hebt het volgende na dagen testen en sneuzen op internet.
Maar als ik dan op de knop druk gebeurt er helemaal niets.
Wat moet er anders zodat ik wel gegevens formulier-record kan kopiëren naar te verzenden mailadres.
Code:
Option Explicit
Private Sub Knop667_Click()
Dim strAan As String, strOnderwerp As String, strTekst2 As String, strTekst3 As String, strTekst4 As String, strTekst5 As String, strTekst6 As String
    strAan = " mailto:test@mail.com"
    strOnderwerp = "Fotobeschrijving " & Me.BldOswnr
    strTekst2 = "--- Datum ---" & Me.FotajaarKenmerk & " " & Me.BldLaatdd & "-" & Me.BldLaatmm & "-" & Me.BldLaatjjjj & vbCrLf & vbCrLf
    strTekst3 = "--- Adres ---" & Me.BldStrtnaam & " " & Me.BldHsnr & " " & Me.BldPstcd & " " & Me.BldPltsnmNld & vbCrLf & vbCrLf
    strTekst4 = "--- Uitgever ---" & Me.BldUitgvr & vbCrLf & vbCrLf
    strTekst5 = "--- Gepubliceerd ---" & Me.Gepubliceerd & vbCrLf & vbCrLf
    strTekst6 = "--- Fotograag/verkregen ---" & Me.Lijst
‘ onderstaande beide geprobeerd..
' DoCmd.SendObject , , , strAan, , , strOnderwerp, strTekst2 & strTekst3 & strTekst4 & strTekst5 & strTekst6, True
  cmdMailto.Hyperlink.Address =  strAan & "?SUBJECT=" & strOnderwerp & "&BODY=" & strTekst2 
 End Sub
 
5MB tekst is erg veel. Ik denk dat je ook probeert een plaatje mee te sturen. Maak voor die mailings een tweede set plaatjes aan die veel kleiner is dan het origineel en stuur die op. Als er behoefte is voor het origineel dan kan je die altijd nog opsturen.

Verder bestaat de mogelijkheid om je fotoos stuk voor stuk te zippen en die als attachment mee te sturen. Dan kan je daarin het originele grote plaatje meesturen.

HTH:D
 
herstel

Als je alles had meegenomen bij het lezen had je gezien dat de database al meer dan 110mb. is.
5mb is de tekst van goed 3200 records en dan alleen nog maar het minimale aan tekst wat nodig is. Als ik alle tekst doe dan kom ik al op 14mb per verzending.

maar inmiddels al iets verder, maar loop tegen fouten op door verschillende typen teksten.
Maar ook dat er soms geen waarden in het veld staan.


Code:
Private Sub Knop667_Click()

'Gebruikte type en namen
'Meno       BldBeschr
'Numeriek   BldLaatdd - BldLaatmm - BldLaatjjjj
'Tekst      FotajaarKenmerk - Lijst - BldStrtnaam - BldHsnr - BldPstcd - BldPltsnmNld - BldUitgvr - Gepubliceerd - BldOswnr
Dim strAan As String
Dim strOnderwerp As String
Dim strTekst As String
Dim strTekst1 As String
Dim strTekst2 As Variant
Dim strTekst3 As String
   strAan = "test@mail.com"
   If strOnderwerp = Null Then
     strOnderwerp = "_" & " Fotocode"
     Else
     strOnderwerp = Me.BldOswnr & " Fotocode"
   End If
   
   strTekst = ""
   
    If Me.FotajaarKenmerk = Null Then
      strTekst2 = ""
    Else
      strTekst2 = Me.FotajaarKenmerk
    End If
 '   strTekst = strTekst2
   
   If Me.BldLaatdd = Null Then
     strTekst1 = " xx"
     Else
     strTekst1 = " " & Me.BldLaatdd
   End If
   strTekst = strTekst & strTekst1
  
   If Me.BldLaatmm = Null Then
     strTekst1 = "-xx"
     Else
     strTekst1 = "-" & Me.BldLaatmm
   End If
   strTekst = strTekst & strTekst1
   
   If Me.BldLaatjjjj = Null Then
     strTekst1 = strTekst1 & "-xxxx"
     Else
     strTekst1 = "-" & Me.BldLaatjjjj & vbCrLf & vbCrLf
   End If
 strTekst = strTekst & strTekst1
     
   strTekst1 = Me.FotajaarKenmerk & " " & Me.BldLaatdd & "-" & Me.BldLaatmm & "-" & Me.BldLaatjjjj & vbCrLf & vbCrLf
   strTekst2 = Me.BldStrtnaam & " " & Me.BldHsnr & " " & Me.BldPstcd & vbCrLf & vbCrLf & Me.BldUitgvr & vbCrLf & vbCrLf
 MsgBox strTekst2
       MsgBox Me.BldStrtnaam
       MsgBox Me.BldHsnr
       MsgBox Me.BldPstcd
       MsgBox Me.BldStrtnaam
       MsgBox Me.BldUitgvr
   strTekst3 = Me.Gepubliceerd & vbCrLf & vbCrLf & Me.Lijst
   strTekst = strTekst1 & strTekst2 & strTekst3
       MsgBox strTekst
   DoCmd.SendObject , , , strAan, , , strOnderwerp, strTekst, True
'  cmdMailto.Hyperlink.Address = strAan & "?SUBJECT=" & strOnderwerp & "&BODY=" & strTekst



End Sub
 
Hoe belangrijk is het dat de ontvangers van het bericht de tekst in de mail kunnen lezen?
Waarom zip je die tekst niet en daarna versturen als attachment.

HTH:D
 
De database wordt aan bepaalde personen gegeven die niet veel verstand hebben van je voorstellen.
De aanvullingen die zij schrijven moeten wel bij mij in de mailbox komen.
De foto's (groot formaat in TIF en JPG) zijn in mijn beheer zelf zijn wel in mijn beheer, de foto's in de database slecht 400pixels breed nog geen 100kb. maar die moeten ook niet verzonden worden.
En ik wil niet alle 3200 beschrijving, dat kost te veel zoek tijd om alles langs te gaan voor nieuwe beschrijvingen.
 
ik snap niet wat je waarom naar iedereen wilt sturen.
ik snap ook niet wat er aangevuld moet worden.

wellicht moet je eens kijken of je de database niet beschikbaar kan stellen via het web.

HTH:D
 
Negeerlijst kandidaat.

Ik probeer je te helpen en jij loopt te zeiken.
Dit was de laatste keer.

Doei!
 
Het is fijn dat je mensen wil helpen, maar als je 2 keer niet goed hebt doorgenomen wat er staat inderdaad, laat maar.

Voor diegene die er belangstelling voor hebben het inmiddels werkt het alwel.
Moet hier en daar nog wat aan worden gedaan.
Code:
Option Explicit
Private Sub Knop667_Click()

'Gebruikte type en namen
'Meno       BldBeschr
'Numeriek   BldLaatdd - BldLaatmm - BldLaatjjjj
'Tekst      FotajaarKenmerk - Lijst - BldStrtnaam - BldHsnr - BldPstcd - BldPltsnmNld - BldUitgvr - Gepubliceerd - BldOswnr
Dim strAan As String
Dim strOnderwerp As String
Dim strTekst  As Variant
Dim strTekst1 As Variant   ' tijdelijke
Dim strTekst2 As Variant
Dim strTekst3 As Variant
Dim strTekst4 As Variant    ' tijdelijke
' ----------------------
strAan = "test@mail.com"    'Mailadres ingeven.
' ----------------------
   If strOnderwerp = Null Then
        strOnderwerp = "_" & " Fotocode"
   Else
        strOnderwerp = Me.BldOswnr & " Fotocode"
   End If
' ----------------------
'   strTekst = Me.FotajaarKenmerk & " " & Me.BldLaatdd & "-" & Me.BldLaatmm & "-" & Me.BldLaatjjjj & vbCrLf & vbCrLf
    strTekst = "---Datum---" & vbCrLf                                      ' "Datum  vast leggen.
        strTekst2 = Me.FotajaarKenmerk
    If strTekst2 = Null Then
        strTekst2 = ""
    End If
   If Me.BldLaatdd = Null Then
     strTekst1 = " xx"
     Else
     strTekst1 = " " & Me.BldLaatdd
   End If
   strTekst = strTekst & strTekst1
  
   If Me.BldLaatmm = Null Then
     strTekst1 = "-xx"
     Else
     strTekst1 = "-" & Me.BldLaatmm
   End If
   strTekst = strTekst & strTekst1
   
   If Me.BldLaatjjjj = Null Then
     strTekst1 = strTekst1 & "-xxxx"
     Else
     strTekst1 = "-" & Me.BldLaatjjjj & vbCrLf & vbCrLf
   End If
   
 strTekst = strTekst & strTekst1    ' Is oké Werkt komt in de mail.
 
   If strTekst = " -- " Then
     strTekst = "---Datum---" & vbCrLf & vbCrLf
   End If
   
' ----------------------
strTekst3 = "---Adres---" & vbCrLf                                      ' "Adres  vast leggen.
'  strTekst3 = Me.BldStrtnaam & " " & Me.BldHsnr & " " & Me.BldPstcd & vbCrLf & vbCrLf & Me.BldUitgvr & vbCrLf & vbCrLf & Me.Gepubliceerd & vbCrLf & vbCrLf & Me.Lijst
    If Me.BldStrtnaam = Null Then
        strTekst4 = "x"
    Else
        strTekst4 = Me.BldStrtnaam
    End If
strTekst3 = strTekst4

    If Me.BldHsnr = Null Then
        strTekst4 = "x"
    Else
        strTekst4 = Me.BldHsnr
    End If
strTekst3 = strTekst3 & strTekst4

    If Me.BldPstcd = Null Then
        strTekst4 = "x"
    Else
        strTekst4 = Me.BldPstcd
    End If
strTekst3 = strTekst3 & strTekst4
' MsgBox VarType(Me.BldPltsnmNld)   ' test wel of niet een Null
    
    If Me.BldPltsnmNld = Null Then
        strTekst4 = "x"
    Else
        strTekst4 = Me.BldPltsnmNld
    End If
strTekst3 = strTekst3 & strTekst4 & vbCrLf & vbCrLf      ' Is oké Werkt komt in de mail.
' ----------------------
    If Me.BldUitgvr = Null Then
        strTekst4 = "x"
    Else
        strTekst4 = Me.BldUitgvr
    End If
strTekst3 = "---Uitgever---" & vbCrLf & strTekst3 & strTekst4 & vbCrLf & vbCrLf
' ----------------------
    If Me.Gepubliceerd = Null Then
        strTekst4 = "x"
    Else
        strTekst4 = Me.Gepubliceerd
    End If
strTekst3 = "---Gepubliceeerd - --" & vbCrLf & strTekst3 & strTekst4 & vbCrLf & vbCrLf
' ----------------------
    If Me.Lijst = Null Then
        strTekst4 = "x"
    Else
        strTekst4 = Me.Lijst
    End If
strTekst3 = "---Foto van/verkregen---" & vbCrLf & strTekst3 & strTekst4 & vbCrLf & vbCrLf
' ----------------------
    If Me.BldBeschr = Null Then     ' Is oké Werkt komt in de mail.
        strTekst4 = "---Foto Beschrijving---" & vbCrLf
    Else
        strTekst4 = "---Foto Beschrijving---" & vbCrLf & BldBeschr
    End If

'   strTekst = strTekst & CStr(strTekst2) & CStr(strTekst3)
'       MsgBox strTekst
   DoCmd.SendObject , , , strAan, , , strOnderwerp, strTekst & strTekst2 & strTekst3 & strTekst4, True
'  cmdMailto.Hyperlink.Address = strAan & "?SUBJECT=" & strOnderwerp & "&BODY=" & strTekst

End Sub

Wat vreemd is dat als ik Me.XXXX controleer en er staat niets dat dit een Null opleverd.
Maar via If ... Then slaat hij er de eerste optie voor Else over. Maar dat is niet het ergste.

Misschien dat iemand anders er nog eens wat aan heeft.
 
Het is fijn dat je mensen wil helpen, maar als je 2 keer niet goed hebt doorgenomen wat er staat inderdaad, laat maar.

Misschien, heeeel misschien, heeft dat ook een beetje met je schrijfstijl te maken. ;)

Het is inderdaad niet leuk als je iemand probeert te helpen, dat je dan wordt afgezeken zoals jij dat doet.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan