Skip to main content

AccessTr.neT M.

Accessde Mail Gönderiminde Çıkan Mesaj Kutusu Hk. Yardım

Konu

Çözüldü #1
Son Düzenleme: 19/02/2019, 15:35, Düzenleyen: Mr.Midnight.
Merhaba;
Accessde yaptığım programda kaydetme ve mail göndermeye yarayan bir buton için yazdığım kodlarda mail gönderme işlemi öncesinde bir mesaj kutusu çıkıyor. Çıkan mesajda izin ver ve reddet butonları var. İzin ver butonuna basıldığında sorunsuz olarak mail gönderme gerçekleşiyor ama reddet butonuna basıldığında program debug hatası verip  kullanıcıyı kodların olduğu sayfaya yönlendiriyor. Bu durum nasıl engellerim? Yardım etmenizi rica ederim..



Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Private Sub btnMailGonder_Click()
Dim adrs, kmps As String

  If IsNull(txtTalepNo) Then
      MsgBox "Lütfen Talep Numarasını ilgili alana giriniz", vbExclamation + vbOKOnly, "İşlem Hatası"
      DoCmd.RunCommand acCmdRefreshData
    Else
      Dim sql2 As String

      DoCmd.GoToRecord , , acNewRec
      'Me.Undo
      DoCmd.SetWarnings (False)
      sql2 = "UPDATE tblTalepler SET tblTalepler.Iletildi = 'EVET', tblTalepler.KayitTarihi = Date(), tblTalepler.KayitSaati = Time() WHERE (((tblTalepler.TalepNo)=[Forms]![frmTalepler]![txtTalepNo]));"
      'UPDATE tblTahditliManuelCikis SET tblTahditliManuelCikis.Onay = 'EVET' WHERE (((tblTahditliManuelCikis.IrsaliyeNo)=[Forms]![frmMalKabulRapor]![txtUpdate]));"
      DoCmd.RunSQL sql2
      DoCmd.SetWarnings (True)
      Recalc
      
      Me.Requery
      Me.Refresh
      'Bilgileri Kaydet
      Dim sql As String
      DoCmd.GoToRecord , , acNewRec
      DoCmd.SetWarnings (False)
      sql = "DELETE * FROM srgBosSiparisBul"
      DoCmd.RunSQL sql
      DoCmd.SetWarnings (True)
      Recalc
      'DoCmd.RunCommand acCmdSaveRecord
      'Mail Gönder
      kmps = DLookup("TalepEdilenKampus", "tblTalepler", "[TalepNo]= '" & Me.txtTalepNo & "'")
      
      If kmps = "KAMPUS 1" Then
      adrs = "info1@hotmail.com"
      ElseIf kmps = "KAMPUS 2" Then
      adrs = "info2@hotmail.com"
      ElseIf kmps = "KAMPUS 3" Then
      adrs = "info3@hotmail.com"
      End If
      
      DoCmd.OpenReport "rprTalepFormu", acViewPreview, , "[tblTalepler]![TalepNo]=[Forms]![frmTalepler]![txtTalepNo]", acWindowNormal
      
      DoCmd.SendObject acSendReport, "rprTalepFormu", "PDFFormat(*.pdf)", adrs, , , "Talep Formu", "Ekteki depolar arası transfer talebini işleme almanızı rica ederim ", False
      DoCmd.Close acReport, "rprTalepFormu"
      
      MsgBox "Bilgiler başarıyla kaydedildi.", vbInformation + vbOKOnly, "İşlem Tamam"
      

      btnMailGonder.Enabled = False
      'Form.Requery
      
      
      TumDenetimPasif
    End If
End Sub

Cevapla
#2
43. satıra aşağıdaki kodunu eklemeyi deneyin

Visual Basic Code
On Error Resume Next

Cevapla
...........
#3
yada 

Visual Basic Code
On Error exit sub

Cevapla
#4
haliliyas bey merhaba;
Vermiş olduğunuz kodları yazdığımda kod sayfasında kırmızıya dönüyor
Cevapla
...........
#5
2 kodda da mı
Cevapla
#6
kodu aşağıdaki şekilde dener misiniz?

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Private Sub btnMailGonder_Click()
Dim adrs, kmps As String

  If IsNull(txtTalepNo) Then
      MsgBox "Lütfen Talep Numarasını ilgili alana giriniz", vbExclamation + vbOKOnly, "İşlem Hatası"
      DoCmd.RunCommand acCmdRefreshData
    Else
      Dim sql2 As String

      DoCmd.GoToRecord , , acNewRec
      'Me.Undo
      DoCmd.SetWarnings (False)
      sql2 = "UPDATE tblTalepler SET tblTalepler.Iletildi = 'EVET', tblTalepler.KayitTarihi = Date(), tblTalepler.KayitSaati = Time() WHERE (((tblTalepler.TalepNo)=[Forms]![frmTalepler]![txtTalepNo]));"
      'UPDATE tblTahditliManuelCikis SET tblTahditliManuelCikis.Onay = 'EVET' WHERE (((tblTahditliManuelCikis.IrsaliyeNo)=[Forms]![frmMalKabulRapor]![txtUpdate]));"
      DoCmd.RunSQL sql2
      DoCmd.SetWarnings (True)
      Recalc
      
      Me.Requery
      Me.Refresh
      'Bilgileri Kaydet
      Dim sql As String
      DoCmd.GoToRecord , , acNewRec
      DoCmd.SetWarnings (False)
      sql = "DELETE * FROM srgBosSiparisBul"
      DoCmd.RunSQL sql
      DoCmd.SetWarnings (True)
      Recalc
      'DoCmd.RunCommand acCmdSaveRecord
      'Mail Gönder
      kmps = DLookup("TalepEdilenKampus", "tblTalepler", "[TalepNo]= '" & Me.txtTalepNo & "'")
      
      If kmps = "KAMPUS 1" Then
      adrs = "info1@hotmail.com"
      ElseIf kmps = "KAMPUS 2" Then
      adrs = "info2@hotmail.com"
      ElseIf kmps = "KAMPUS 3" Then
      adrs = "info3@hotmail.com"
      End If
      
      DoCmd.OpenReport "rprTalepFormu", acViewPreview, , "[tblTalepler]![TalepNo]=[Forms]![frmTalepler]![txtTalepNo]", acWindowNormal
      On error goto ErrorHandler
      DoCmd.SendObject acSendReport, "rprTalepFormu", "PDFFormat(*.pdf)", adrs, , , "Talep Formu", "Ekteki depolar arası transfer talebini işleme almanızı rica ederim ", False
      DoCmd.Close acReport, "rprTalepFormu"
      
      MsgBox "Bilgiler başarıyla kaydedildi.", vbInformation + vbOKOnly, "İşlem Tamam"
      

      btnMailGonder.Enabled = False
      'Form.Requery
      
      
      TumDenetimPasif
    End If
exit sub
ErrorHandler:
msgbox("mail gönderilemedi")
Exit Sub
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