(03/01/2018, 14:33)ozanakkaya yazdı: Merhaba,
tabloda Ogrencinin_Adi_Soyadi alanı birincil anahtar olmaz, birincil anahtar S/N alanı olmalıdır.
Kaydet butonunun tıklandığında olayındaki kodu aşağıdaki ile değiştirerek deneyiniz.
Dim Key_Adet As Integer
Dim kriter
kriter = Me.Ogrencinin_Adi_Soyadi & Me.Ogrencinin_Okul_Numarasi & Me.Ogrencinin_Cep_Telefonu_Numarasi
Key_Adet = DCount("*", "Ana_Tablo", "Ogrencinin_Adi_Soyadi&Ogrencinin_Okul_Numarasi&Ogrencinin_Cep_Telefonu_Numarasi='" & kriter & "'")
If Key_Adet > 0 Then
MsgBox "Dikkat..! Bu öğrenci bilgilerine sahip bir kayıt zaten var olduğundan tekrar kaydedemezsiniz."
Me.Undo
Exit Sub
End If
'*******KAYDET**********
DoCmd.RunCommand acCmdSaveRecord
'******YENI KAYIT********
DoCmd.GoToRecord , , acNewRec
Ayrıca, aynı veriyi girdikten sonra uyarı verdirip Me.Undo kodu ile eski haline getirirseniz aynı verileri tekrar yazmak zorunda kalırsınız.
Me.Undo yerine
Ogrencinin_Adi_Soyadi.setfocus
kodlarını ekleyerek uyarı sonrası düzeltme yapılabilmesi için öğrenci adı soyadı alanına odaklanılmasını sağlayabilirsiniz.
Sayın Ozan,
teşekkür ederim kodunuz çalışıyor ve mükerrer kayıt olarak uyarıyı veriyor. sonrasında sizin de dediğiniz gibi formu boşaltıyor. bunun içinde dediginiz kodu me.undo yerine koydum bu seferde VBA'da hata veriyor kabul etmiyor.