Butona Basıldığında Kodun Değişmesi

1 2
14/12/2010, 14:26

ozmly

Hocam
Teşekkür ederim kaydı silmesini bu şekilde engelleyebiliyorum ancak mesajı yine veriyor. Me.Recordset.Delete yapısını silmeden eğer kaydet tuşuna basıldıysa direkt çıkış yapabileceğim bir çözüm yok mu? Çünkü bunu sildiğim zaman eksik bilgiler varken çıkılmak istendiğinde bu msjı vermek ve kullanıcı kaydetmek istemezse silmek istiyorum. Kulanıcı kaydı silerek çıkmak istemezse bilgileri tamamlayacak ve kaydete basacak. Sonra çıkışa tıkladığında direkt docmd.close çalışacak. (Kaydete basıldı ise). Kaydete basılmadı ise bu btn daki komut çalışacak
14/12/2010, 18:10

ozanakkaya

Aşağıdaki kodu deneyebilir misin?

On Error Resume Next
If IsNull(txtDosya_No) Then
DoCmd.Close
Exit Sub
End If
Dim mesaj
mesaj = MsgBox("Girilen Bilgiler Kayıt Edilmeden Form Kapatılsın mı?", vbYesNoCancel, "Çıkış")
If mesaj = vbNo And Me.txtDosya_No >= 0 Then
mesaj = MsgBox("Gerekli blgilerin tamamını doldurup İleri tuşuna basarak kaydı tamamlayın", vbInformation, "Kayda Devam")
End If
If mesaj = vbYes Then
Me.Undo
DoCmd.Close
End If
14/12/2010, 18:30

ozmly

Evet hocam çalıştı Teşekkür ediyorum.
Me.Undo bu butonun olayındaki tüm kodları mı sıfırlıyor
14/12/2010, 23:03

erdem55

(14/12/2010, 18:30)ozmly yazdı: Evet hocam çalıştı Teşekkür ediyorum.
Me.Undo bu butonun olayındaki tüm kodları mı sıfırlıyor

Forma girilen verileri sıfırlamak için kullanılıyor diyebiliyorum tabi hocalarımız daha iyi bilirler. Kısacası forma yazılan nevar neyoksa geri alınır böylece kayıt işlemide geri alınmış olur bildiğim kadarıyla.

Ben senin yerinde olsam iki adet kapat butonu eklerim üst üste. biri kapat diğeri kapat1 olur. Form açılışında kapat görünür kapat1 görünmez yani disable olur. Eğer kullanıcı saveye basar ise kapat1 i enable yapıp kapat'ı da disable yaparsın. Böylece saveye basılmış ise kapat1 formu direkt kapatır. Basılmamış ise kapat bilgilerin eksik girildiğini formu kapatıp kapatmamk istediğini sormuş olur. Tabi yinede senin düşüncen benimkisi sadece bir öneriydi.
1 2