Sürekli Formda Kayıt Iptali

22/02/2021, 13:41

Mr.Midnight

Herkese merhaba;
Access de çoklu kayıt işlemi için sürekli form kullanıyorum. Formu kullanırken yeni kayıt olayında bir belge no ve kalem no ile sürekli formda girilen verileri kayıt altına alıyorum. Formda kullanıcının geçmişe dönük kayıtlarda düzeltme yapabilmesi için belge no yazıldığında tabloda kayıtlı olan belge no altındaki tüm kayıtları sürekli forma filtreleyerek getirmiş oluyorum. Kullanıcı filtrelenerek gelen bu veriler üzerinde geçmişe dönük kayıt düzenlemesi yapabiliyor. Ancak kullanıcı sürekli form üzerinde birden fazla kayıtta düzenleme yapıp sonradan bu kayıtları iptal etmek istediğinde iptal butonumdaki kod işe yaramıyor. İşe yaramama sebebi ise veri girişi yaptığı textboxlar tabloya direkt olarak kayıt gönderdiği için kaydın satır kaynağından çıkıldığı anda artık dirty kodu işe yaramaz hale geliyor. Sadece en son değişiklik yapılmış olan satırın değişikliğini yakalıyor ve yapılan kaydı geri alıyor. Benim istediğim ise sürekli formda tüm satır kaynaklarında yapılmış olan değişiklikleri iptal butonu ile iptal edebilmek. Bu konuda nasıl bir yol izlemeliyim. örnek verebilir misiniz?


Kod:
Private Sub btnIptal_Click()
If Me.Dirty Then
      If MsgBox("Bilgilerde değişiklik yapılmış." & vbCrLf & vbCrLf & "Düzenlemeyi iptal etmek ister misiniz?", vbExclamation + vbYesNo, "Dikkat") = vbYes Then
          Me.Undo
          DoCmd.Close
       
      End If
Else

    DoCmd.Close
 
End If
End Sub
22/02/2021, 18:33

ozanakkaya

Merhaba, uygulamanıza tbl_gecici adında tablo ekledim. Düzenle, iptal ve kaydet butonlarına eklenen kod ile önce ve geçici tabloya kaydedilir, kaydederseniz Tablo2'ye aktarılır. Gözden kaçan hususlar olabilir.
23/02/2021, 09:20

Mr.Midnight

(22/02/2021, 18:33)ozanakkaya yazdı: Merhaba, uygulamanıza tbl_gecici adında tablo ekledim. Düzenle, iptal ve kaydet butonlarına eklenen kod ile önce ve geçici tabloya kaydedilir, kaydederseniz Tablo2'ye aktarılır. Gözden kaçan hususlar olabilir.


Ozan bey;
İlginiz ve desteğiniz için çok teşekkür ederim. Göndermiş olduğunuz örnekteki kodları kendi kodlarıma uyarlayarak sorunum sayenizde çözülmüş oldu. Ve sayenizde bir kez daha program geliştirme konusunda yeni bir boyut daha kazanmış oldum.