• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Toplu e-mail gönderme

Toplu e-mail göndermede mutlu sona doğru
 
Sayın arnavut,

Gecikme için kusura bakmayın.

İstediğiniz kodlar ekte. Sizin modülü 4 defa çalıştıramadım ve başka bir çözüm ürettim. Aşağıdaki kodların hepsini tüm kişilere e-mail göndereceğiniz düğümenin click olayına ekleyin.

Kod:
Dim rs As New ADODB.Recordset
Dim str As String
Dim Y, Z As Integer
Dim K As Double
rs.Open "emails1", CurrentProject.Connection, adOpenKeyset, adLockReadOnly
Z = rs.RecordCount / 100 Mod 100
If rs.EOF = True Then
        MsgBox "Herhangi bir e-mail adresi kayıtlı değil."
    Else
        rs.MoveFirst
        K = 0
        Q = 0
        Do While Not rs.EOF
            If IsNull(rs(0)) Then
                rs.MoveNext
            Else
                str = str & rs(0) & ", "
                rs.MoveNext
                K = K + 1
                    If K Mod 100 = 0 And Q < Z Then
 
                        GoSub Mail
                        str = ""
                        Q = Q + 1
                        Else
                            If Q = Z And rs.EOF Then
                                GoSub Mail
                            End If
                    End If
            End If
        Loop
 
    End If
 
rs.Close
Set rs = Nothing
Exit Sub
Mail:
    stDocName = "Empty_Report"
    DoCmd.SendObject acSendNoObject, stDocName, , str, , , "Test Email", , True
Return

Bir de sorgular&#305; tekrar bire indirdim. T&#252;m veriler g&#246;r&#252;n&#252;r olmal&#305;.

&#304;yi &#231;al&#305;&#351;malar:)
 
Arnavut'tan bir İstek

Sn. Arnavut,

Sn. Modalının kodları ben örneğinize ekledim, hata mesajı alıyorum ve bir türlü kaydedemiyorum.

Acaba, programınızın en son düzeltilmiş çalışan halini yükleyebilir misiniz? Teşekkürler.
 
Merhaba Sayın Modalı,
ilginiz için çok teşekkür ederim, uğraştırdım sizi.
dediğiniz gibi, vermiş olduğunuz kodu çoklu mail gönder butonuna ekledim.
Query'leri de bire indirdim. ama bu seferde aşağıdaki hata mesajını alıyorum.
nedenini anlamadım,
 
Sayın arnavut,

Hata Q değişkeninin türünün belirtilmemesi idi. Başta
Kod:
Dim Q As Double

yazılması gerekiyordu.

Herneyse yeni dosyayı ekliyorum.

İyi çalışmalar:)
 
Merhaba Say&#305;n Modal&#305;,
size ne kadar te&#351;ekk&#252;r etsem yetersiz kalacak,
&#231;ok u&#287;ra&#351;t&#305;rd&#305;m sizi, ama muhte&#351;em bir&#351;ey &#231;&#305;kt&#305; ortaya sayenizde.
hay&#305;rl&#305; ak&#351;amlar diliyorum.
 
Te&#351;ekk&#252;rler. G&#252;zel bir &#231;al&#305;&#351;ma oldu.
 
Arkadaşlar Arnavut arkadaşımızın örneğine formdaki raporuda ekleyebilirmiyiz yani mail butonuna basınca rapor için format sorucak ve mail adresleriyle göndericek
 
Compile error: Variable Not defined hatası neereden kaynaklanır.

Mail:
stDocName = "Empty_Report"
DoCmd.SendObject acSendNoObject, stDocName, , str, , , "Test Email", , True
Return


çalıştırdıgımda yukarıda renkli kısım işaretli olmak üzere değişken tanımlanmadı hatası veriyor nereden kaynaklanabilir.
 
Sayın osmanselim,

Büyük bir ihtimalle kod sayfasının başında Option Explicit deyimi var ve bu deyim tanımlanmamış değişkenlerin kullanılmasını önlüyor. Siz kodları şu şekilde değiştirin:

Kod:
Mail:
Dim stDocName As String
stDocName = "Empty_Report"
DoCmd.SendObject acSendNoObject, stDocName, , str, , , "Test Email", , True
Return

Dim deyimiyle stDocName değişkeninin türünü metin olarak belirttik.

İyi çalışmalar
 
Tam isabet

Sayın Modalı tam dediğiniz gibi ekledim oldu ancak ana tablomun açılışında şöyle bir hata mesajı alıyorum ;
Run-time error '2465'

Deyiminizde başvurulan 'email' alanı Microsoft Acces tarafından bulanamıyor code kısmıda aşagıdaki şekilde


Private Sub Form_Current()
Me!cmdEmail.Enabled = Not (IsNull(Me!email))
End Sub

bunu end diyip geçince mail kısmı çok güzel çalışıyor da Gizli kısmına atmak istiyorum bunu nereden yapabilirim.

teşekkürler
 
Syın osmanselim,

Me!cmdEmail.Enabled = Not (IsNull(Me!email))
satırından hiçbirşey anlamadım. O radaki cmd niçin var. Siz bunu

Kod:
Me!Email.Enabled = Not (IsNull(Me!email))
olarak değiştirin. Ancak dikkat formunuzdaki email yazılı alanın adı ne? email mi yoksa Email mi? Biliyorsunuz VBA küçük büyük harf duyarlıklı.

İyi çalışmalar


 
Sayın modalı

Oradaki bilgiyi yukarıdaki mail çalışmalarından almıştım açıkçası ne işe yaradığını kestiremediğim için öylece bırakmıştım hata verince tırnakla kapattım bu haliyle hatasız çalışıyor.

Ancak ben gönderilecek mail adreslerinin to kısmına değil de gizli kısmına aktarmak istiyorum bunu nasıl yapabilirim.



Mail:
Dim stDocName As String
stDocName = "Empty_Report"
DoCmd.SendObject acSendNoObject, stDocName, , str, , , "Test Email", , True
Return

End Sub

'Private Sub Form_Current()
' Me!email.Enabled = Not (IsNull(Me!email))
' End Sub
 
Sayın osmanselim,

Access in ve Microsoftun msdn kütüphaneleri üstünde istemediğiniz kadar bilgi ver.

Şimdi kod yazım sayfasındayken
Kod:
SendObject
i seçip F1 tuşuna basarsanız bu deyimin nasıl kullanıldığı ile ilgili bilgiye ulaşabilirsiniz.

Ben bakmaktan üşendiğimden değil herkesin ilerleme kaydedmesini istediğim için bu bilgileri veriyorum.

İyi çalışmalar
 
Sn Modalı haklısınız ama yardımcı olurmusunuz ingilizcem zayıf

ama yapamadım

Mail:
Dim stDocName As String
stDocName = "Empty_Report"
DoCmd.SendObject acSendNoObject, stDocName, , str, , , "Test Email", , True
Return

Str bununla alakalı galiba

OutputFormat Optional Variant.

To Optional Variant. A string expression that lists the recipients whose names you want to put on the To line in the mail message. Separate the recipient names you specify in this argument and in the cc and bcc arguments with a semicolon (;) or with the list separator set on the Number tab of the Regional Settings Properties dialog box in Windows Control Panel. If the recipient names aren't recognized by the mail application, the message isn't sent and an error occurs. If you leave this argument blank, Microsoft Access prompts you for the recipients.



Bcc Optional Variant. A string expression that lists the recipients whose names you want to put on the Bcc line in the mail message. If you leave this argument blank, the Bcc line in the mail message is blank.
 
Sn Modalı

Aşagıdaki örnek te BCC ye atmışsınız fakat benim uygulamam bunu adapte edemedim yardımcı olurmusunuz.

Benim Kullandığım Kodlar bu to olarak gönderiyor
****************
rs.Close
Set rs = Nothing
Exit Sub
Mail:
stDocName = "Empty_Report"
DoCmd.SendObject acSendNoObject, stDocName, , str, , , "Test Email", , True
Return
****************

Sizin yaptıgınız örnek Bcc olarak gönderiyor.
******************************
'Add contacts to variable for BCC field

For Each varItem In lst.ItemsSelected
'Check for email address
strEMailRecipient = Nz(lst.Column(1, varItem))
Debug.Print "EMail address: " & strEMailRecipient
If strEMailRecipient <> "" Then
strBCC = strBCC & strEMailRecipient & ";"
End If

Next varItem

strBCC = Left(strBCC, Len(strBCC) - 1)

stDocName = "deneme"
DoCmd.OpenReport stDocName, acViewPreview, , , acHidden
DoCmd.SendObject acReport, stDocName, acFormatSNP, strBCC, , , strSubject, strBody
DoCmd.Close acReport, stDocName, acSaveNo
'Create new mail message and send to contacts
'Set msg = appOutlook.CreateItem(olMailItem)
'With msg
'.To = strTo
'.Subject = strSubject
'.Body = strBody
'.BCC = strBCC
'.Display
'End With
******************************
 
halen çözemedim

Ardaşlar bir üstteki problemi halen halledemedim yukarıdaki kodlara göre toplu To olarak gönderiyor ben mail adreslerimiz BCC ye aktarılmasını nasıl sağlarım
 
Geri
Üst