Forumda Sağa-Sola gidişde kayıt yapmasın Kayıt yapılınca belli alanı kilitlesin

15/11/2011, 12:13

HAKKI34

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.
15/11/2011, 12:33

C*e*l*o*y*c*e

ö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
15/11/2011, 12:34

HAKKI34

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.?
15/11/2011, 13:00

C*e*l*o*y*c*e

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
15/11/2011, 15:08

HAKKI34

Ü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 ..