Skip to main content

AccessTr.neT


Şarta bağlı Kaydetme

Şarta bağlı Kaydetme

Çözüldü #1
Sayın Hocalarım,
Ekteki çalışmamda Odemebilgileri formunda odemetutarı alanına girilen veri 0 da olsa  Kaydetme msj. alabiliyorum ve Msj.hayır dediğimde Kasaya kaydetmiyor,ancak odemebilgileri1 alt formuna  yazıyor.
Uygulanan Msj.kodu aşağıdadır.

Kod:
Private Sub ODEMETUTARI_Exit(Cancel As Integer)
    If MsgBox("İşlem kaydedilsin mi?", vbInformation + vbYesNo) = vbYes Then
End If
End Sub

Bu Kaydetme msj.ına  Odemetutarı alanı 0 ise ve Kaydetme Msj.Hayır dediğimde Odemebilgileri1 alt formuna yazmaması yani işlemi iptal veya bir şekilde yok saymasını nasıl gerçekleştirebilirim.

Saygılarımla.
.rar FA.TEKNİK SERVİS -Son - Kopya.rar (Dosya Boyutu: 328,39 KB | İndirme Sayısı: 7)
Cevapla
#2
Private Sub ODEMETUTARI_Exit(Cancel As Integer)
If MsgBox("İşlem kaydedilsin mi?", vbInformation + vbYesNo) = vbYes Then




If IsNull(Me.ODEMETUTARI) Or Me.ODEMETUTARI = "" Or Me.ODEMETUTARI = 0 Then
MsgBox " Dikkat...Tutar Yazmadan kayıt edemezsiniz...!"
Me.ODEMETARIHI.SetFocus
Me.ODEMETUTARI.SetFocus
'Exit Sub
Else
End If
Else


End If
End Sub
Cevapla
#3
Sayın Celoyce Hocam,
Cevabınız vede ilginiz için çok teşekkür ederim,Ancak sanırım msj.da tam anlatamadım ben,bu nedenle
kusuruma bakmayın.
Olay şu hocam,İşlem Kaydedilsinmi msj. Hayır dendiğinde yapılan işlemi iptal etmesi gerekiyor,yani Ödeme bilgileri1 formuna aktarmayacağı gibi Odemebilgileri formunda bulunan alanlarıda iptal etmesi
gerekiyor.
Saygılarımla.
Cevapla
#4
Kod hatalı, metin kutusunun güncelleştirme sonrasında olayına tablolara veri aktaran kod eklemişsiniz. Uyarı penceresini metin kutusunun çıkıldığında olayına yazmışsınız ve hayır için hiçbir koşul belirtilmemiş.

F_ODEMEBILGILERI isimli formdaki ODEMETUTARI metin kutusunun güncelleştirme sonrasında olayına ve çıkıldığında olayına yazılan kodları sil.

ODEMETUTARI metin kutusunun güncelleştirme sonrasında olayına aşağıdaki kodu ekle

If MsgBox("İşlem kaydedilsin mi?", vbInformation + vbYesNo) = vbYes Then

VeriAktar
Else
Me.ODEMETARIHI = ""
Me.acl_ODEMETURU = ""
Me.acl_ODEMEYONTEMI = ""
Me.ODEMETUTARI = ""
Exit Sub
End If

Daha sonra Vba sayfasında en alta aşağıdaki kodu ekle

Sub VeriAktar()





Dim db As Database
Dim rs, rs2, rs3 As DAO.Recordset
Dim strSQL, strSQL2, strSQL3 As String
Set db = CurrentDb()
strSQL = "SELECT  * FROM T_ODEMEBİLGİLERİ"
strSQL2 = "SELECT  * FROM T_KASA"
strSQL3 = "SELECT TOP 1 ISLEMTARIHI AS tarihkontrol, T_KASA.* FROM T_KASA WHERE (((ISLEMTARIHI)=Date()) AND (([GELIRCESIDI]) Is Null));"




Set rs = db.OpenRecordset(strSQL)




rs.AddNew
rs!ISLEMNO = Me.Parent.ISLEMNO
rs!ODEMETARIHI = Now()
rs!ODEMETURU = Me.acl_ODEMETURU
rs!ODEMEYONTEMI = Me.acl_ODEMEYONTEMI
rs!ODEMETUTARI = Me.ODEMETUTARI
rs.Update




Set rs2 = db.OpenRecordset(strSQL2)
Set rs3 = db.OpenRecordset(strSQL3)




    If rs3.EOF Then
        rs2.AddNew
        rs2!ISLEMTARIHI = Me.ODEMETARIHI
        rs2!GELIRCESIDI = Me.acl_ODEMETURU
            If Me.acl_ODEMEYONTEMI = "Nakit" Then
                rs2!NAKIT = Me.ODEMETUTARI
            ElseIf Me.acl_ODEMEYONTEMI = "Kredi Kartı" Then
               rs2!KREDIKARTI = Me.ODEMETUTARI
            ElseIf Me.acl_ODEMEYONTEMI = "Banka" Then
               rs2!BANKA = Me.ODEMETUTARI
            ElseIf Me.acl_ODEMEYONTEMI = "Alacak" Then
               rs2!ALACAK = Me.ODEMETUTARI
            
            
            End If
        rs2.Update
    Else
        rs3.Edit
        rs3!GELIRCESIDI = Me.ODEMETUTARI
            If Me.acl_ODEMEYONTEMI = "Nakit" Then
              rs3!NAKIT = Me.ODEMETUTARI
            ElseIf Me.acl_ODEMEYONTEMI = "Kredi Kartı" Then
              rs3!KREDIKARTI = Me.ODEMETUTARI
            ElseIf Me.acl_ODEMEYONTEMI = "Banka" Then
              rs3!BANKA = Me.ODEMETUTARI
           ElseIf Me.acl_ODEMEYONTEMI = "Alacak" Then
              rs3!ALACAK = Me.ODEMETUTARI
            
            
            End If
        rs3.Update
    End If
    
rs.Close
rs2.Close
rs3.Close
db.Close




Set rs = Nothing
Set rs2 = Nothing
Set rs3 = Nothing
Set db = Nothing




Me.ODEMETARIHI = Null
Me.acl_ODEMETURU = Null
Me.acl_ODEMEYONTEMI = Null
Me.ODEMETUTARI = Null
Me.Recalc
Me.ODEMETARIHI.SetFocus








Forms![F_TEKNİKSERVİS]![ODEMETOPLAMI] = Forms![F_TEKNİKSERVİS]![F_ODEMEBİLGİLERİ1].Form![Top_Odeme]
Forms!F_TEKNİKSERVİS.KAL = Forms![F_TEKNİKSERVİS]![HESAPTOP] - Forms![F_TEKNİKSERVİS]![ODEMETOPLAMI]




End Sub
Cevapla
#5
Sayın Ozan Hocam,
Emeğinize sağlık çok sağolun varolun süper oldu çok teşekkür ederim.
Bu vesile ilede Yeni Yılınızı Kutlar Ailenizile sağlıklı,huzurlu bir yıl geçirmenizi temenni ederim.

Saygılarımla.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da