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