Skip to main content

AccessTr.neT


Raporu PDF yapıp e-mail ile gönderme

Raporu PDF yapıp e-mail ile gönderme

#1
Merhaba Hocam.

Eklediğim uygulamada AnaMenu Formunda Firma ve Firma2 adında iki adet açılan kutu var bu açılan kutulardan seçtiğim müşteriye ait rapor alıyorum ve pdf olarak kayıt edebiliyorum. Benim istediğim müşteriyi seçip Rapor Al butonuna tıkladığımız zaman Satış ve Satış2 tablosundaki o muştriye ait e-posta adresi YazıcıSeçFirma ve YazıcıSeçFirma2 formudaki metin kutusunda görünsün. e-posta gönder adresine tıkladığımız zaman mail gönderilsin. Eğer oluyorsa e-postanın gidip gitmediğini uyarı olarak göstersin.  Bu konuda yardımlarınıza ihtiyacım var. Saygılarımla iyi çalışmalar.
.rar Cari-4.rar (Dosya Boyutu: 109,56 KB | İndirme Sayısı: 23)
Cevapla
#2
Merhaba,

Firma isimli raporun Açıldığında olayındaki 

DoCmd.OpenForm "YaziciSecFirma", acNormal

Kodunu sil,

Raporun Ayrıntının Yazıldığında olayına aşağıdaki kodu ekle

DoCmd.OpenForm "YaziciSecFirma", acNormal
Forms!YaziciSecFirma![e-posta] = Dlookup ("[e-posta]", "Satis", "[FirmaAdi]='" & Me.FirmaAdi & "'")

YaziciSecFirma isimli formun Vba sayfasında en alta aşağıdaki kodu ekle

Function SendMail(BelgeAdi)
Dim iMsg, iConf, Flds, schema
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
schema = "http://schemas.microsoft.com/cdo/configuration/"
Flds.Item(schema & "sendusing") = 2
Flds.Item(schema & "smtpserver") = "smtp.gmail.com"
Flds.Item(schema & "smtpserverport") = 465
Flds.Item(schema & "smtpauthenticate") = 1
Flds.Item(schema & "sendusername") = "GondericiGmailAdresi"
Flds.Item(schema & "sendpassword") = "Gmailşifreniz"
Flds.Item(schema & "smtpusessl") = 1
Flds.Update
veri1 = txtEklenti
With iMsg
.To = Me.e_posta
.From = "Gönderen Adı Soyadı ( GondericiGmailAdresi )"
.Subject = "Deneme Konu"
.HTMLBody = "Deneme Metin"
.Sender = "xx"
.Organization = "GondericiGmailAdresi"
.ReplyTo = "GondericiGmailAdresi"

.AddAttachment BelgeAdi

Set .Configuration = iConf
.Send

End With

Set iMsg = Nothing
Set iConf = Nothing
Set Flds = Nothing

MsgBox ("mail gönderildi")
Kill BelgeAdi
End Function

Üstteki fonksiyonda GondericiGmailAdresi ve Gmailşifreniz kısımlarını gmail adres bilgilerinizi yazınız. Deneme Konu ve Deneme Metin Kısımlarını da kendinize göre düzenleyiniz.

Formdaki Komut24'ün tıklandığında olayına da aşağıdaki kodu ekle

Dim BelgeAdi As String
BelgeAdi = CurrentProject.Path & "\" & Format(Now(), "dd.mm.yyyy") & "V.S.Fat.M.B.Rap.pdf"
DoCmd.OutputTo acOutputReport, "Firma", acFormatPDF, BelgeAdi, False
Call SendMail(BelgeAdi)


Bu işlemleri yaptıktan sonra gmail adresinizle oturum açıp, https://www.google.com/settings/security/lesssecureapps bağlantısını açıp "Daha az güvenli uygulamalar için erişim" ayarını "Aç" olarak değiştirmeniz gerekli.
Cevapla
#3
Çok, çok teşekkürler Hocam ellerinize sağlık.

Hocam konuyu taşıyabilirsiniz. Saygılarımla iyi çalışmalar.
Cevapla
#4
sayın m_demir,

EK'te;
bahsettiğiniz talebinize yönelik olarak,
alternatif olması amacı ile eklemeye imkan bulunamaması nedeni ile geç konunuza dahil edilmek sureti ile hazırlanmış örnek uygulama mevcuttur.inceleyebilirsiniz.

bilginize...iyi çalışmalar,saygılar.
.rar Cari-4-ATOZ.rar (Dosya Boyutu: 127,04 KB | İndirme Sayısı: 65)
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#5
Çok, çok teşekkürler Hocam ellerinize sağlık. Çok güzel olmuş.
Son Düzenleme: 10/02/2017, 21:47, Düzenleyen: m_demir.
Cevapla
#6
Sayın atoz112

sizin ve bir çok kişinin Access 2003 çalışmalarında kullandığınız;

DoCmd.OutputTo acOutputReport, "xxxxxxx", acFormatPDF

kodu çalışmıyor ama hep bu kullanılıyor. yani en azında benim çalışmamda çalışmıyor. Rapor kaydet penceresinden sonra çıkan çıktı biçim seç penceresindeki seçeneklerin hangisi seçilirse seçilsin kayıttan sonra dosya açılamıyor. pdf açılmıyor yani. sorunun nedenini çözemedim. yardımcı olunursa sevinirim.

saygılar
hnakis, 15-10-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da