AccessTr.neT
Aynı Anda Aynı Kaydın Girişini (Mükerrer Kayıt) Engelleme - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Aynı Anda Aynı Kaydın Girişini (Mükerrer Kayıt) Engelleme (/konu-ayni-anda-ayni-kaydin-girisini-mukerrer-kayit-engelleme.html)



Aynı Anda Aynı Kaydın Girişini (Mükerrer Kayıt) Engelleme - Allback - 09/07/2015

Merhaba,

Formumdaki "Klasor No" metin kutularına daha önce girilmiş bir kaydın numarası girildiğinde hata veriyor ama daha önce girilmemiş bir numarayı aynı anda farklı iki kutuya girilmesini engellemiyor. Yani farklı iki kutuya aynı anda "10" yazıp kayıt ekleyebiliyorum. 


Henüz kayıt oluşmadığından hata vermemesi normal olabilir. Aynı anda yazılmasını belki engelleyemeyiz ama aynı iki numaranın kayıt edilmesini engelleyebilir miyiz?


Cvp: Aynı Anda Aynı Kaydın Girişini (Mükerrer Kayıt) Engelleme - ozanakkaya - 10/07/2015

Öncelikle, lütfen örnek uygulamanızın adını "örnek" şeklinde eklemeyiniz, birden fazla konuya örnek adında uygulama ekleyince karışıyor.

Uygulamanızdaki kodları düzenledim, 

Konu başlığındaki soru ile ilgisi yok ama, "std_klasoru_tablosu" isimli tablodaki "klasor_no" alanının veri türünü sayı yaparsanız kodlamada düzeltme yapmalısınız, veri türü Metin olduğu için kodlarda ' (tek tırnak) eklendi.



VarMi = Nz(DLookup("[klasor_no]", "std_klasoru_tablosu", "[klasor_no]= '" & KlasorAdi & "'"), 0)

Veri türünü sayı yaparsanız kırmızı ile işaretlediğim tırnakları silmelisin, bu tırnak olayı docmd.runsql kodunun ilgili yerlerinde de var, onlarında düzeltilmesi gerekli, denetim için oluşturulan sorgu bu uygulamaya eklenmemiş, sorgudaki alan ilişkilendirmelerinin de düzeltilmesi gerekir.


Cvp: Aynı Anda Aynı Kaydın Girişini (Mükerrer Kayıt) Engelleme - Allback - 10/07/2015

Ozan Bey,

Örneği inceledim, "Kaydet" butonuna bastığımda "Invalid use of Null" hatası veriyor. 

Hata mesajını verdiği satırı kırmızı ile işaretledim.

Alıntı:Private Sub Komut7_Click()
DoCmd.SetWarnings False
For KontrolNo = 1 To 5
    Klasor2Adi = Controls("klasor" & (KontrolNo))
    KlasorAdi = Controls("klasoradi" & (KontrolNo))
If Not IsNull(Controls("klasor" & (KontrolNo))) And Not IsNull(Controls("klasoradi" & (KontrolNo))) And Controls("klasor" & (KontrolNo)) <> "" And Controls("klasoradi" & (KontrolNo)) <> "" Then
    DoCmd.RunSQL "INSERT INTO std_klasoru_tablosu ([klasor_no],[std_klasoru]) VALUES ('" & Klasor2Adi & "','" & KlasorAdi & "')"
End If
Next KontrolNo

sil2
DoCmd.RunSQL "DELETE tbl_gecici.* FROM tbl_gecici;"
DoCmd.SetWarnings True
End Sub

Hata mesajına rağmen kaydetme işlemini gerçekleştiriyor ama aynı kaydın girilmesini engellemiyor. Sadece uyarı mesajı veriyor.


Cvp: Aynı Anda Aynı Kaydın Girişini (Mükerrer Kayıt) Engelleme - ozanakkaya - 10/07/2015

2. mesajdaki örnek yenilendi.


Cvp: Aynı Anda Aynı Kaydın Girişini (Mükerrer Kayıt) Engelleme - Allback - 10/07/2015

(10/07/2015, 12:24)ozanakkaya yazdı: 2. mesajdaki örnek yenilendi.

Ozan Bey,

Çok teşekkürler. Hata giderilmiş.

Konu taşınabilir...