Skip to main content

#EvdeKal


Raporu Pdf Formatında Ekli Mail Olarak Gönderme

Oğuz Türkyılmaz
Oğuz Türkyılmaz
2
602

Raporu Pdf Formatında Ekli Mail Olarak Gönderme

Çözüldü #1
Ozur Merhabalar

Teklif Giriş Formum var ve burdan firmalara verilecek tekliflerin girişini yapıyor ve kayda alıyorum. Form üzerindeki önizle - yazdır seçenekleri ile de bu teklifin R_02_VerilenTeklifler adlı raporunu çalıştırabiliyorum. Amacım bu raporun E-Mail Gönder butonuna basıldığında form üstünde görülen alıcısına Ek olarak gönderilmesini sağlamak.( Mail Trafiği info@.........com uzantılı adres tarafından  OUTLOOK üzerinden gerçekleştiriliyor ) Forumdaki OUTLOOK üzerinden Ek olarak gönderilmesi ile ilgili konudaki ozan beyin örneğini butonun olay yordamına ekledim, İki projemdeki farklılıklardan anladığım kadarını bir iki yerde doğru yanlış kendime uyarlamaya  çalıştım ,ortaya çıkacak hataları da birer birer çözerek ilerlemek istiyorum. Yardımlarınız için teşekkür ederim. ( Bu arada bu istediğimi alınan rapor üstünde sağ tıklayarak  gönder seçeneği ile outlooka gönderebiliyorum ama dediğim gibi amacım tek tuşla kullanıcıya  kolaylık sağlamak. İlk hata geçerli kayıt yok şeklinde karşıma çıktı.
[Resim: do.php?imgf=154479773276611.jpg]
[Resim: do.php?imgf=154479773296042.jpg]
.rar TeklifMaster e_Mail.rar (Dosya Boyutu: 115,93 KB | İndirme Sayısı: 13)
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#2
Merhaba, eklediğiniz örnekteki kod, tabloya ek olarak eklenen belgenin dizine kaydedilip outlook'a ek olarak ekleme için tasarlanmış. Sizin raporu pdf uzantılı kaydedip outlook'a ek olarak eklemeniz gerekiyor.

Kod yapısının

Visual Basic Code
Dim appOutLook As Outlook.Application
Dim MailOutLook As Outlook.MailItem

Dim GDosyaAdi  As String
'Dim rsKayit As DAO.Recordset2
'Dim GEk

'Set rsKayit = Me.Recordset
'Set GEk = rsKayit.Fields("EK").Value

GDosyaAdi = Environ("Temp") & "\" & Me.FirmaUnvan & " - " & Me.Kimlik & ".pdf"

If Len(Dir(GDosyaAdi)) > 0 Then

    Kill GDosyaAdi

End If

DoCmd.OutputTo acOutputReport, "R_02_VerilenTeklifler", acFormatPDF, GDosyaAdi


Set appOutLook = CreateObject("Outlook.Application")
Set MailOutLook = appOutLook.CreateItem(olMailItem)
    With MailOutLook

            .to = Me.txtE_Mail
            .Subject = "ISSE GROUP Fiyat Teklifi"
            '.HTMLBody = Me.mess_text
'            GEk.Fields("FileData").SaveToFile Environ("Temp")
            .Attachments.Add GDosyaAdi
            '.DeleteAfterSubmit = True   'This would let Outlook send th note without storing it in your sent bin
            .Send
            End With
'            DoCmd.Close
            'MsgBox MailOutLook.Body
            Exit Sub
'email_error:
'            MsgBox "An error was encountered." & vbCrLf & "The error message is: " & Err.Description
'            Resume Error_out
'Error_out:

"Boş Örnek Eklerim, Yapıp Verirler" demeyin, örneğinizi hazırlayın.
Komplike kod talebiniz var ise İletişim bağlantısından bize ulaşın. 
Cebelleşmezsen Öğrenemezsin. 
Cevapla
#3
(15/12/2018 11:59)ozanakkaya Adlı Kullanıcıdan Alıntı: Merhaba, eklediğiniz örnekteki kod, tabloya ek olarak eklenen belgenin dizine kaydedilip outlook'a ek olarak ekleme için tasarlanmış. Sizin raporu pdf uzantılı kaydedip outlook'a ek olarak eklemeniz gerekiyor.

Kod yapısının

Visual Basic Code
Dim appOutLook As Outlook.Application
Dim MailOutLook As Outlook.MailItem

Dim GDosyaAdi  As String
'Dim rsKayit As DAO.Recordset2
'Dim GEk

'Set rsKayit = Me.Recordset
'Set GEk = rsKayit.Fields("EK").Value

GDosyaAdi = Environ("Temp") & "\" & Me.FirmaUnvan & " - " & Me.Kimlik & ".pdf"

If Len(Dir(GDosyaAdi)) > 0 Then

    Kill GDosyaAdi

End If

DoCmd.OutputTo acOutputReport, "R_02_VerilenTeklifler", acFormatPDF, GDosyaAdi


Set appOutLook = CreateObject("Outlook.Application")
Set MailOutLook = appOutLook.CreateItem(olMailItem)
    With MailOutLook

            .to = Me.txtE_Mail
            .Subject = "ISSE GROUP Fiyat Teklifi"
            '.HTMLBody = Me.mess_text
'            GEk.Fields("FileData").SaveToFile Environ("Temp")
            .Attachments.Add GDosyaAdi
            '.DeleteAfterSubmit = True   'This would let Outlook send th note without storing it in your sent bin
            .Send
            End With
'            DoCmd.Close
            'MsgBox MailOutLook.Body
            Exit Sub
'email_error:
'            MsgBox "An error was encountered." & vbCrLf & "The error message is: " & Err.Description
'            Resume Error_out
'Error_out:


Ozan Bey Teşekkür ederim. Sorunsuz çalışıyor.
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task