(02/05/2018, 14:07)ozanakkaya yazdı: Merhaba, kod tasarımınız hatalı. Yapı olarak
Private Sub Kaydet_Click()
If IsNull(Kayit_ID) Then
MsgBox "Kayıt No Boş Kalamaz", vbInformation, "Kayıt No Boş!"
Kayit_ID.SetFocus
Exit Sub
End If
If IsNull(DepoGirisTarihi) Then
MsgBox "Tarih Boş Kalamaz", vbInformation, "Tarih Boş!"
DepoGirisTarihi.SetFocus
Exit Sub
End If
If IsNull(Me.UrunCinsi) Or Me.UrunCinsi = "" Then
MsgBox "Ürün Cinsi Boş Kalamaz", vbInformation, "Ürün Cinsi Boş!"
UrunCinsi.SetFocus
Exit Sub
End If
If Me.Ebat = "" Then
MsgBox "Ebat Boş Kalamaz", vbInformation, "Ebat Cinsi Boş!"
Ebat.SetFocus
Exit Sub
End If
If DepoGirisTarihi < Date Then
MsgBox " Eski bir tarih için kayıt girilemez!", vbInformation, "Geçmiş Tarih!"
DepoGirisTarihi.SetFocus
Exit Sub
End If
If DepoCikisTarihi < DepoGirisTarihi Then
MsgBox "Depo Çıkış Tarihi Depo Giriş Tarihinden Önce Olamaz", vbInformation, "Hatalı Tarih!"
DepoCikisTarihi.SetFocus
Exit Sub
End If
If MsgBox("Değişiklikler kaydedilsin mi?", vbCritical + vbYesNo + vbDefaultButton1, "UYARI!") = vbYes Then
DoCmd.GoToRecord , , acNewRec
Me.KayitListesi.Requery
Else
Me.Undo
End If
End Sub
Şeklinde olmalı ki siz kaydedilsin mi sorusuna cevap vermeden önce alanların denetimini yapsın.
Kayıt sorunu ile ilgili olarak,
Formun güncelleştirme sonrasında olayına
If Me.Dirty Then
If MsgBox("Kayıt verisinde değişiklik yapıldı.Kaydetmek ister misiniz?", vbYesNo + vbQuestion, "Değişikliği KAYDET") = vbNo Then
Me.Undo
End If
End If
kodu ekleyerek deneyiniz.
Öncelikle teşekkür ederim ilk problemimi verdiğiniz düzenleme ile hallettim.
Ancak kaydetme konusunda hala sıkıntım var.
Örneğin; herhangi bir kayda girip değişiklik yaptıktan sonra; direk başka bir kayda tıkladığımda yapılan değişiklik kaydediliyor. Ben ne olursa olsun kayıttan çıkarken bana kayıt işlemini sorsun istiyorum.
Yardımcı olursanız çok sevinirim.