Skip to main content

AccessTr.neT


Form Üzerindeki Buton İle Otomatik Mail Gönderme

Form Üzerindeki Buton İle Otomatik Mail Gönderme

#1
Herkese merhaba,

Excelden veri aldıktan sonra Access aracılığıyla form üzerine tanımlı butonla herkese email göndermek istiyorum.

Sorun şu:

Butona formu ilerletme komutu tanımlamama rağmen sürekli aynı formdaki bilgilere mail göndermek istiyor. Formdaki bilgileri sonraki kullanıcı için değiştirmekte sorun yaşıyorum.

Vba olarak başlangıç seviyesinde bilgiye sahibim çok basit bir hata ise kusura bakmayın Img-cray

Edit: Konu yanlış yere olmuş ama taşıyamadım bir türlü. Bulabilirsem taşımayı taşıyacağım.

Visual Basic Code
Public Sub Komut15_Click()
    Dim oApp As New Outlook.Application
    Dim oemail As Outlook.MailItem
    Dim fileName As String, todaydate As String
    
    
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    
        Set db = CurrentDb
    Set rs = db.Openrecordset("SELECT Ad, Soyad, Email, Limit, Adres FROM Musteriler Sorgu")
    
    Do Until rs.EOF
    
    On Error Resume Next
    DoCmd.GoToRecord , , acNext
    
  
    
        'Raporu müşteri bazında olması için düzenliyoruz
    
         DoCmd.OpenReport "MusteriRaporu", acViewReport, "", "[Forms]![MusteriFormu]![Ad]=[Musteriler]![Ad]", acNormal
    
    
        'Raporu pdf file olarak dışa aktarıyoruz
        todaydate = Format(Date, "DDMMYYYY")
        fileName = Application.CurrentProject.Path & "\MusteriRaporu_" & todaydate & ".pdf"
        DoCmd.OutputTo acReport, "MusteriRaporu", acFormatPDF, fileName, False
    
    
    
        Set oemail = oApp.CreateItem(olMailItem)
        oemail.To = rs.Fields("Email")
        oemail.Subject = Me.Firma_Adı & " Bakiye Raporu"
        oemail.Body = "Bakiye raporunuz ektedir."
        oemail.Attachments.Add fileName

        
        With oemail
            If Not oemail.To <> Me.Email Then
                .Send
                MsgBox "Email Gonderildi"
        
            Else
                MsgBox "Mail adresi hatalı!"
            
            End If
        
        End With
     rs.MoveNext
   
    On Error Resume Next
    DoCmd.GoToRecord , , acNext

    Loop
        
    
    rs.Close

    Set rs = Nothing
    Set db = Nothing
  

  
End Sub
Son Düzenleme: 15/07/2017, 17:51, Düzenleyen: fguveli.
Cevapla
#2
Konuyu okuyan olduysa diye çözümü yazıyorum daha sonra kaldıracağım konuyu. 

Raporu kapatmadığım için ilerleme sağlanamıyormuş.

Kodun içine:

Visual Basic Code
DoCmd.Close acReport, "MusteriRaporu", acSavePrompt

Kodunu ekleyerek raporu kapatınca sorunsuz çalışıyor Lol
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da