Kaydetme, Yeni Kayıt Ekleme Ve Kayıt Silme Sorunu

1 2 3 4
12/01/2019, 14:13

mmert06

Kendim çabalayarak dosyayı ekteki gibi belli bir yere kadar getirdim fakat bu sefer Yeni butonuna basıp boş alan ve mükerrer kayıt sorgusu yaptıktan sonra, liste kutusundaki bir kayda tıklayıp bu kayda ait metin kutularında yer alan bilgilerden herhangi birini değiştirip tekrar kaydet butonuna bastığımda "Bu klasör daha önce kaydedilmiş. Kaydetme işlemi iptal edilecek!" uyarı mesajı geliyor. Oysa benim yapmak istediğim;
1. Yeni butonuna bastıktan sonra, girilecek kayda ait kitap_no veya kitap_adı alanı liste kutusundaki mevcut kayıtlara ait kitap_no veya kitap_adı ile aynı ise "Bu klasör daha önce kaydedilmiş. Kaydetme işlemi iptal edilecek!" uyarı mesajı gelsin ve gelen bu uyarı mesajına tamam dedikten sonra kayıt işlemi iptal olsun. (Bu işlemler ekteki dosyada gerçekleştiriliyor.)
2. Yeni butonuna bastıktan sonra, girilecek kayda ait kitap_no veya kitap_adı alanı liste kutusundaki mevcut kayıtlara ait kitap_no veya kitap_adı ile aynı değil ise girilen veriler liste kutusuna kaydedilsin. (Bu işlem ekteki dosyada gerçekleştiriliyor.)
3. 1 veya 2 no.lu işlemler yapıldıktan sonra liste kutusundaki  her hangi bir kayda tıklayıp bu kayda ait metin kutularında yer alan bilgilerden herhangi birini değiştirip tekrar kaydet butonuna bastığımda seçilen kayda ait bilgilerin güncellenmesini istiyorum. Bu işlemi gerçekleştirmem için yardımcı olabilirseniz sevinirim.
12/01/2019, 17:45

berduş

sayın @mmert06  benim yolladığım örneği incelediniz mi?
yolladığım örnekte rastladığınız sorunlar neler?
14/01/2019, 00:15

mmert06

sayın @"haliliyas"  sizin gönderdiğiniz dosyada gördüğüm hatalar şunlar;

1. Liste kutusuna tıklamadan veya tıkladıktan sonra Kaydet düğmesine bastığımda, kayıtlarda bir değişiklik olmamasına rağmen "Kaydetmek istiyor musunuz?" mesajı geliyor. 

2. Yeni butonuna bastıktan sonra metin kutuları boş iken Kaydet düğmesine bastığımda "Lüstfen Boş Alanları Doldurunuz" gibi bir uyarı mesajı gelmesi gerekirken Run time error 3075 hatası veriyor.

3.Boş metin kutularından sadece kitap_no alanına veri girip diğer metin kutuları boş iken Kaydet tuşuna bastığımda "Yayınevi Alanı Boş Bırakılamaz" mesajı geliyor halbuki kitap_adı ve yazar_adı alanları da boş durumda.

4. Boş metin kutularını doldurup Yeni ve Çıkış tuşlarına bastığımda ekrana " Kaydetmek istiyor musunuz" mesajı geliyor ve evet tuşuna basıldığında girilen veriler tablo ve liste kutusuna kaydediliyor. Kaydetme işleminin sadece Kaydet tuşu ile yapılması gerekiyor.
14/01/2019, 14:05

ozanakkaya

Butonun tıklandığında olayındaki kodu aşağıdaki ile değiştirerek deneyiniz.

Dim kayitSayisi1 As Integer
Dim kayitSayisi2 As String

If IsNull([kitap_no]) Or IsNull([kitap_adı]) Or IsNull([kitap_yazarı]) Or IsNull([kitap_yayınevi]) Then

MsgBox "Lütfen Boş Alanları Doldurunuz!", vbExclamation, "Boş Alan Uyarısı"

'DoCmd.CancelEvent
Exit Sub
End If

If Me.Dirty = True Then

   If kayitYenimi = "Evet" Then
       
       'Kayıtlarda değişiklik yapılmışsa kitap no veya kitap adı alanları daha önce kaydedilmiş mi kontrol et
   
       kayitSayisi1 = DCount("*", "tbl_kitaplar", "kitap_no=" & kitap_no)
       kayitSayisi2 = DCount("*", "tbl_kitaplar", "kitap_adı='" & kitap_adı & "'")

       If kayitSayisi1 > 0 Or kayitSayisi2 > 0 Then

           MsgBox "Bu klasör daha önce kaydedilmiş. Kaydetme işlemi iptal edilecek!", vbCritical, "Kayıt İşlemi Uyarısı"
       
           Me.Undo

       Else

           DoCmd.RunCommand acCmdSaveRecord
           MsgBox "Kitap Bilgileri Başarıyla Kaydedilmiştir!", vbInformation, "Kayıt İşlemi Bilgisi"
           Me.Liste33.Requery

       End If

   Else
   

       
       DoCmd.RunCommand acCmdSaveRecord
       MsgBox "Kitap Bilgileri Başarıyla Güncellenmiştir!", vbInformation, "Güncelleme Bilgisi"
       Me.Liste33.Requery
   
   End If

Else

   MsgBox "Kayıtlarda değişiklik yapılmadığından kaydetme işlemi iptal edilmiştir!", vbInformation, "Kayıt İptal İşlemi"
   
End If
14/01/2019, 20:28

mmert06

sayın ozanakkaya verdiğinz kodları denetim ama Yeni butonuna bastıktan sonra boş metin kutularının herhangi birine veri girip tekrar Yeni butonuna bastığımda tabloya ve liste kutusuna kaydediyor oysa sadece Kaydet butonu ile kaydetme işlemi yapılması lazım.
14/01/2019, 22:30

ozguryasin

merhaba; örneğinizdeki tablo ile form arası ilişkilerin hepsi kaldırıldı, buna göre kodlar ado sistemine göre revize edildi. sadece evet hayır sorusunu yazmadım. Ek olarak Güncelleme butonu eklendi. liste kutusuna tıkladığınızda silme ve güncelleme için izin verme özelliği eklendi. tam olmasa da beli miktar kontroller konuldu.
1 2 3 4