Helpmij.nl
Helpmij.nl
Helpmij.nl

Quote

Weergeven resultaten 1 tot 11 van 11

Onderwerp: groepsmail op basis van een query

  1. #1
    Vraag is niet opgelost

    groepsmail op basis van een query

    Hallo,

    Middels een VBA code (geleend van het internet) maak ik op een formulier een selctie om een groep mesen te selecteren die een mail moeten ontvangen.
    Echter dit werkt niet.
    Om een en ander te onderzoeken heb ik de code aangepast om voor het versturen van de email de query te openen. Dit laatste doet hij wel degelijk, echter vandaaruit krijg ik een foutmelding.

    De foutmelding zit op de regel: Set rs = db.OpenRecordset("SELECT voornaam, achternaam, email FROM Qemail") uit de code.

    Code:
    Public Sub SendgroupEmail()
    
       
        Dim db As DAO.Database
        Dim rs As DAO.Recordset
        
        Dim emailTo As String
        Dim emailSubject As String
        Dim emailText As String
    
        Dim outApp As Outlook.Application
        Dim outMail As Outlook.MailItem
        Dim outlookStarted As Boolean
            
        
        On Error Resume Next
        Set outApp = GetObject(, "Outlook.Application")
        On Error GoTo 0
        If outApp Is Nothing Then
            Set outApp = CreateObject("Outlook.Application")
            outlookStarted = True
        End If
    
        Set db = CurrentDb
        Set rs = db.OpenRecordset("SELECT voornaam, achternaam, email FROM Qemail")
        Do Until rs.EOF
    
            emailTo = Trim(rs.Fields("voornaam").Value & " " & rs.Fields("achternaam").Value) & _
                        " <" & rs.Fields("email").Value & ">"
                        
            emailSubject = "Amazing newsletter"
            If IsNull(rs.Fields("voornaam").Value) Then
                emailSubject = emailSubject & " for " & _
                                rs.Fields("voornaam").Value & " " & rs.Fields("achternaam").Value
            End If
            
            emailText = Trim("Hi " & rs.Fields("voornaam").Value) & "!" & vbCrLf
            
           
            
            emailText = emailText & _
            "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. " & _
            "Maecenas porttitor congue massa. Fusce posuere, magna sed " & _
            "pulvinar ultricies, purus lectus malesuada libero, sit amet " & _
            "commodo magna eros quis urna."
    
                        
            Set outMail = outApp.CreateItem(olMailItem)
            outMail.To = emailTo
            outMail.Subject = emailSubject
            outMail.Body = emailText
            outMail.Send
    
            rs.MoveNext
        Loop
        
        rs.Close
        Set rs = Nothing
        Set db = Nothing
        
        If outlookStarted Then
            outApp.Quit
        End If
        
        Set outMail = Nothing
        Set outApp = Nothing
        
    End Sub


    Deze code roep ik aan met de VBA code.

    Code:
    Private Sub onderdeelkeuze_DblClick(Cancel As Integer)
    
        Me.Requery
        'DoCmd.OpenQuery "Qemail", acViewNormal
        Call SendgroupEmail
            
    End Sub
    Ik zal hoogstwaarschijnlijk iets over het hoofd zien, maar wat?


    Alvast bedankt.

    Hank Megens

  2. #2
    Junior Member
    Geregistreerd
    12 april 2022
    Wat is de foutmelding?
    Groeten,

    Peter

  3. #3
    Dat was idd niet zo slim om die er niet bij te zetten.

    De melding die ik krijg is:

    fout 3061 bij uitvoering:

    Er zijn te weinig parameters. Het verwachte aantal is: 1.


    Hank

  4. #4
    Junior Member
    Geregistreerd
    12 april 2022
    Ik herken dit probleem. Had het zelf laatst ook, maar weet er nog geen oplossing voor. De work around die ik uiteindelijk gemaakt heb is om in plaats van (in jouw geval) gegevens te halen uit Qemail, die query hier uit te schrijven.

    Groeten,

    Peter

  5. #5
    Senior Member
    Geregistreerd
    3 november 2021
    Die code heb je duidelijk niet van mij, dan had-ie wel gewerkt . Het probleem zit 'm m.i. vooral in je Onderdeelkeuze.

    Code:
    Private Sub onderdeelkeuze_DblClick(Cancel As Integer)
        Me.Requery
        'DoCmd.OpenQuery "Qemail", acViewNormal
        Call SendgroupEmail
    End Sub
    1. Waarom een requery?
    2. Waarom open je überhaupt die query?
    3. 'Call' is al ruim vóór het eerste kabinet Rutte niet meer nodig. Al betwijfel ik of hij dat geregeld heeft .
    4. Waarom een Dubbelklik op het veld/keuzelijst?

    Zonder voorbeeldje is het lastig om te zien wat je wilt bereiken, maar het herkennen van het probleem is bij mij dus totaal niet aan de orde. Al stuur ik nooit een mail naar een set messen . Maar leg eens uit hoe je aan die selectie van personen komt. En waarom je mail functie zo onlogisch is.

  6. #6

    Cool

    Hoi,

    1. Mocht ik vanuit het formulier waar ik de groep aan wie ik wil mailen, nogmaals wil gebruiken, voor een groepsmail aan een andere groep, zal ik mijn query toch opnieuw uit moeten voeren?
    2. Die query heb ik alleen er in gezet om te kijken of de selectie wel werkte. Deze laat ik nu ook vooraf gaan door een '. Deze open ik dus niet.
    3. Als het zonder call kan, haal ik dat wel weg.
    4. een dubbelklik op de keuzelijst lijkt me handiger dan een enkele klik.

    Wat ik wil bereiken is dat ik een mail aan een groep mesnen kan sturen uit een vereniging. Of het bestuur, of het jeugdorkest of de muziekcommissie.
    Ik heb dus een tabel met leden, een tabel met onderdelen en een tabel lidonderdeel want mensen kunnen lid zijn van verschillende onderdelen.
    Middels de query selecteer ik dan de juiste mensen die lid zijn van de betreffende groep.

    Kan de db niet uploaden.

    Hank

  7. #7
    Senior Member
    Geregistreerd
    3 november 2021
    Ad 1: Nee. Je formulier laat altijd zien wat je gebruikt. Dus als je een andere selectie maakt op je formulier heb je daar de nieuwe selectie staan.
    Ad 2: Goed plan
    Ad 3: Nog een goed plan
    Ad 4: Dubbelklikken op een keuzelijst is onhandiger als een enkele klik op een keuzelijst. Maakt je keuzelijst alleen maar gebruiksonvriendelijker

    Quote Origineel gepost door HankMegens Bekijk Bericht
    Middels de query selecteer ik dan de juiste mensen die lid zijn van de betreffende groep.
    Net schreef je dat je dat op een formulier doet. Confused now .

  8. #8
    Goedemorgen,

    Hierbij de database.

    Ik denk dat bij jouw laatste opmerking misschien de oorzaak zou kunnen zijn van het probleem.




    Hank
    Bijgevoegde bestanden Bijgevoegde bestanden

  9. #9
    Senior Member
    Geregistreerd
    3 november 2021
    Ga er naar kijken vandaag!

  10. #10
    Een zetje in de goede richting is al voldoende

    Alvast bedankt

  11. #11
    Senior Member
    Geregistreerd
    3 november 2021
    Ik heb wat zaken verbeterd, zodat het in ieder geval weer werkt. Kijk maar of je er mee uit de voeten kan.
    Bijgevoegde bestanden Bijgevoegde bestanden

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren