Selam Üstatlarım
Ekteki örnekte kaydı kaydetiğimde
1- Tc Kimlik nosu alanını kitlemeli, Ac dediğimde açmalı
2- Sağa sola gezintilerde bulunduğum kayıtta değişiklik olunca otomatik kayıt yapmamalı değişiklikler kaydolsunmu sorusu olarak karşıma gelmeli.
Yardımlarınızı bekliyorum.
Saygılar sunarım.
önce kaydet butonundaki makryu sil ve daha sonra aşağıdaki kodu
olay yordamı olarak kaydet yeterli
Dim X, A, b
On Error GoTo Err_Komut28_Click
If IsNull(Me.Ad) Then MsgBox "Lütfen Kişi adını yazınız", 48, "Kayıt İşlemi": Me.Ad.SetFocus: Exit Sub
If MsgBox("Değişiklikler kaydedilsin mi?", 36, "K A Y D E T") = 6 Then
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Else
Me.Undo
End If
Exit_Komut28_Click:
Exit Sub
Err_Komut28_Click:
MsgBox "Kaydetme işlemi yapılamadı", 0, "Kayıt İşlemi"
Resume Exit_Komut28_Click
kayıt düğmesi tamam üstadım laikin ileri geri düğmeleri sadece ileri geri olayı yapmalı her hangi bir değişikliği dataya yazmamalı.
Örneğin ; Kullanıcının eli farkında olmadan bir alan üzerinde bir tuşa bastı sonra sağa sola düğmesi ile ileri - geri gidince onu kayıt ediyor.
Bunu nasıl engelleriz.?
bu kodu dene
bunu formun güncelleştirmeden önce bölümüne yaz
' formda yanlışlıkla bir veri üzerinde değişiklik yapmayalım diye
' değişiklik durumunda onay alıyoruz.
If NewRecord = False Then
Select Case MsgBox("Değişiklikler kaydedilsin mi?", vbYesNo Or vbQuestion Or vbDefaultButton1, "D İ K K A T")
Case vbYes
Case vbNo
DoCmd.RunCommand acCmdUndo
End Select
End If
Üstadım dediğin gibi yaptım.. Çok güzel oldu.
Son bir olayda fişi kilitleyip işlem yapılmasını engellemek.
Açmak içinde giriş parolasını girmesi istenmesi.
Bunu da eklersek sanırım gayet güzel olacak ..