Skip to main content

AccessTr.neT M.



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

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

Çözüldü #1
Son Düzenleme: 09/01/2019, 19:16, Düzenleyen: mmert06.
Merhaba. Ekteki veritabanı ile ilgili olarak aşağıdaki hatalar ile karşılaşmaktayım. Bu hataları giderebilmem konusunda yardımcı olabilirseniz sevinirim. Saygılar.

1.Soldaki metin kutularında boş alan olmamasına rağmen, Liste kutusundaki kitap adına tıklayıp “Kaydet” düğmesine bastıktan sonra ekrana “Lütfen Boş Alanları Doldurunuz!” mesajı geliyor. Bu mesajın gelmemesini nasıl sağlayabilirim?
2.Kitap No. veya Kitap Adı alanlarına daha önce girilmiş bir değeri tekrar girip Kaydet düğmesine bastığımda bu değerlerin daha önce girildiğine dair ekrana uyarı mesajı gelmesini ve bu değerleri tekrar kaydetmemesini nasıl sağlayabilirim?
3.Soldaki metin kutularının içerisine verilerin hepsini girmeden Yeni tuşuna bastığımda girilen veriler liste kutusuna kaydedilmemesine rağmen, tbl_kitaplar tablosuna kaydediliyor. Yeni tuşunun kaydetme özelliğinin olmamasını nasıl sağlayabilirim?
4.Liste kutusundaki her hangi bir satırı tıklayıp Sil butonuna bastığımda ve ekrana gelen uyarı penceresine evet dediğimde soldaki metin kutularının içerisinde #Silindi ifadesinin gelmemesini nasıl sağlayabilirim?
5.Metin kutuları içerisine verileri tam olarak girmeden ve Kaydet butonuna basmadan Çıkış butonuna basıp formu kapatıp tekrar açtığımda metin kutularına tam olarak girilmeyen verilerin lise kutusuna ve tbl_kitaplar tablosuna kaydediliyor. Metin kutularına veriler tam girilmeden ve Kaydet butonuna basmadan Çıkış butonu ile formdan çıkış yaptığımda bu verilerin liste kutusuna ve tbl_kitaplar tablosuna kaydedilmemesini nasıl sağlayabilirim?

.rar Kitaplar.rar (Dosya Boyutu: 25,59 KB | İndirme Sayısı: 6)
Cevapla
#2
(09/01/2019 19:12)mmert06 Adlı Kullanıcıdan Alıntı: 1.Soldaki metin kutularında boş alan olmamasına rağmen, Liste kutusundaki kitap adına tıklayıp “Kaydet” düğmesine bastıktan sonra ekrana “Lütfen Boş Alanları Doldurunuz!” mesajı geliyor. Bu mesajın gelmemesini nasıl sağlayabilirim?
emin değilim 
dirty=true kaydın değiştirildiğini, =false ise hiçbir değişiklik olmadığını gösterir
dolayısıyla siz yeni kayıt eklediğinizde yada var olanı değiştirdiğinizde dirty=true olur 
kaydet'e bastığınızda eğer bir değişiklik yoksa dirty=false olur ve size bahsettiğiniz uyarıyı verir

Cevapla
...........
#3
(09/01/2019 19:12)mmert06 Adlı Kullanıcıdan Alıntı: 2.Kitap No. veya Kitap Adı alanlarına daha önce girilmiş bir değeri tekrar girip Kaydet düğmesine bastığımda bu değerlerin daha önce girildiğine dair ekrana uyarı mesajı gelmesini ve bu değerleri tekrar kaydetmemesini nasıl sağlayabilirim?
bu isteğinizi 2 yolla yapabilirsiniz
1-tablodaki alanları "yinelenmeyen" olarak ayarlarsınız
2- if DCount("*","tbl_kitaplar", "kitap_no=" &  me.kitap_adı)>0 then msgbox("bu no kaydeilmiş")    benzeri bir kontrolle

Cevapla
#4
sayın @"haliliyas" dediğiniz gibi yapmaya çalıştım fakat bu sefer de ekteki veritabanı dosyasında gösterildiği gibi  liste kutusunda herhangi bir veriyi tıklayıp soldaki metin kutularından düzenleme yapıp tekrar kaydet düğmesine bastığımda kitap_no veya kitap_adı aynı olduğu için bu alanların daha önce girildiğine dair uyarı veriyor ve düzenleme yapılamıyor. Bu sorunu nasıl giderebiliriz?

.rar Kitaplar2.rar (Dosya Boyutu: 51,64 KB | İndirme Sayısı: 3)
Cevapla
...........
#5
kayıt sayılarını kontrol ettiğiniz satırı aşağıdaki ile değiştirip dener misini
öncelikle kaydın yeni kayıt olup olmadığını denetliyor

kayitSayisi1 = DCount("*", "tbl_kitaplar", "kitap_no=" & kitap_no)
kayitSayisi2 = DCount("*", "tbl_kitaplar", "kitap_adı='" & kitap_adı & "'")

If NewRecord And (kayitSayisi1 Or kayitSayisi2 > 0) Then ' newrecord eğer yeni kayıtsa

MsgBox "Bu klasör daha önce kaydedilmiş. Kaydetme işlemi iptal edilecek!", vbCritical, "Klasör Kaydetme Uyarısı"
DoCmd.CancelEvent

Cevapla
#6
az önce yukardaki kodu yolladım ama sonradan kodda hata olduğunu fark ettim
bu koddaki sorun eğer eski kayıtlara yeniden aynı adı verirseniz ne olacak?
şu an uygun olmadığımdan tam ilgilenemiyorum kusura bakmayın

Cevapla
...........

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da