Değişiklik Onayı İçin Soru Sorar....
Private Sub Form_BeforeUpdate(Cancel As Integer)
' formda yanlışlıkla bir veri üzerinde değişiklik yapmayalım diye
' değişiklik durumunda onay alıyoruz.
If NewRecord = False Then
If MsgBox("Değişiklikler kaydedilsin mi?", _
vbYesNo) = vbNo Then
Cancel = True
DoCmd.RunCommand acCmdUndo
End If
End If
End Sub
bu kısmı modüle yazınız. kayıt silme için kullanacağımız fonksiyon...
Public Sub KayitSil(Optional ByVal FRM As Form, Optional ShowMsg As Boolean)
' Yanlışlıkla kayıt silinmesini engellemek üzere onay alınmasını sağlar.
On Error Resume Next
If ShowMsg Then
If MsgBox("Kayit silinecek. Devam edilsin mi?", vbCritical + vbYesNo) = vbNo Then Exit Sub
End If
If FRM Is Nothing Then
DoCmd.SetWarnings False
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
DoCmd.SetWarnings True
Exit Sub
Else
If FRM.NewRecord And (Not FRM.Dirty) Then Exit Sub
End If
If FRM.Dirty Then DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
If Not FRM.NewRecord Then
With FRM.RecordsetClone
.Bookmark = FRM.Bookmark
.Delete
.MoveNext
If .EOF Then .MoveLast
FRM.Bookmark = .Bookmark
End With
End If
FRM.Requery
End Sub
kayıtsil kullanımı silme butonunun koduna yazınız
Call KayitSil(Screen.ActiveForm, True)