Skip to main content

AccessTr.neT


Sorgudaki Bilgileri Otomatik Tek Tek Mail Gönderme

Sorgudaki Bilgileri Otomatik Tek Tek Mail Gönderme

#3
Sayın @onur_can hocamızın belirttiği üzere örneklerinizde değerlendirme yapmamızı ve çözüm önerisi sunmamızı gerektiren asli unsurlar yok. Ancak örnek tablonuzdan yola çıkarak sorgu sonuçlarını göndermek istediğiniz kişilerin mail adresleri ve diğer bilgilerinin tutulduğu cari kart verilerini içeren bir tablo oluşturmanız, sorgunuza bu tablodan email adreslerini dahil etmeniz doğru bir yaklaşım olacaktır ve buna göre örnek olarak aşağıdaki kod sorgunuzun sonuçlarını her bir kayıt için mail olarak gönderilmesini sağlayacaktır.
Sub SendMails()
    Dim ObjOutlook As Object, ObjMail As Object
    Dim db As DAO.Database
    Dim rst As DAO.Recordset
   
    Set db = CurrentDb()
    Set rst = db.OpenRecordset("SorguAdınz")    'Recordseti tanımla
   
    On Error Resume Next
    Set ObjOutlook = CreateObject("Outlook.Application")
    On Error GoTo 0
   
    If ObjOutlook Is Nothing Then   
        MsgBox "Outlook başlatılamadı. Lütfen Outlook'un yüklü ve açık olduğundan emin olun.", vbExclamation    'Outlook başlatılamazsa uyar (bunu genelde kullanmam ama geçen başka bir soruda önerilmiş mantıklı bulduğum için ekledim)
        Exit Sub
    End If
   
    Do Until rst.EOF    'Recordsetin son kaydına kadar kayıtları dolaş
        Set ObjMail = ObjOutlook.CreateItem(0)    'Yeni bir email oluşturur
       
        With ObjMail
            .To = "[AlıcıEpostaAdresi]"    'Alıcı e-posta adresi, sorgunuza ekleyeceğiniz mail alanını değişken olarak kullanabilirsiniz
            .Subject = "Üye Borç Bilgilendirmesi - " & rst!uyeno    'Email konusu (örneğin üye 1 için veya adı soyadını değişken olarak kullanabilirsiniz)
            .Body = "Sayın " & rst![adı soyadı] & "," & vbCrLf & vbCrLf & _
                    "Borç bilgilendirmeniz aşağıdaki gibidir:" & vbCrLf & _
                    "Ay: " & rst!ay & vbCrLf & _
                    "Tahakkuk: " & rst!tahakkuk & vbCrLf & _
                    "Tahsilat: " & rst!tahsilat & vbCrLf & _
                    "Borç: " & rst!borc & vbCrLf & vbCrLf & _
                    "İyi günler dileriz."    'Emailin mesaj içeriği
            .Send    'Emaili gönder
        End With
       
        rst.MoveNext    'sonraki kayda geç
    Loop
   
    rst.Close
    Set rst = Nothing
    Set db = Nothing
    Set ObjMail = Nothing
    Set ObjOutlook = Nothing
   
    'MsgBox "E-postalar başarıyla gönderildi.", vbInformation, "Email Gönderim Sonuç Bildirimi"    '(istenirse) işlem bittiğine dair mesaj göster
End Sub
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
RE: Sorgudaki Bilgileri Otomatik Tek Tek Mail Gönderme - Yazar: atoykan - 09/11/2024, 00:25
Task