Merhaba,
Ekli dosyada örneğin A harfinin altında farklı tarih ve sayı bilgileri bulunuyor. Kaydet butonuna bastığımda eğer tekrarlayan "tarih ve sayı" bilgisi girilmişse kaydetme işlemi yapılmasın istiyorum. Yani kaydetme koşulu daha önce kaydedilmiş tarih ve sayı (her ikisine bağlı olarak) bilgisine göre çalışsın. Tekrarlıyorsa kaydetmesin tekrarlamıyorsa kaydetsin. Nasıl yapabilirim? Teşekkürler.
Tekrarlayan Kaydı Engelleme
Sitede mükerrer kayıt engelleme ile ilgili onlarca örnek ve çözüm mevcut. Onları inceleyin, çalışmanıza uygulamaya çalışın, yapamadığınız yer olursa onu soru olarak iletin.
Evet teşekkürler,
Örnekleri inceledim. Ancak şöyle bir fark var. Ben iki tablo yarattım ve birden çoğa ilişki kurdum. Amacım şu:
Tablo1 de A harfinin altına farklı tarih ve sayı bilgileri girilebilsin ama "aynı tarih ve sayı" girilemesin. Ancak bu tarih ve sayılar Tablo1 deki B harfinin altına girilebilir. Yani mükerrerliği engelleme işlemi Tablo1 de "seçilen harfin altındaki" verilerde oluşmalı. Örneklerdekiler hep tek tabloda geçerli sanki. Birden çoğa ilişkili iki tabloda değiller gibi.
Örnekleri inceledim. Ancak şöyle bir fark var. Ben iki tablo yarattım ve birden çoğa ilişki kurdum. Amacım şu:
Tablo1 de A harfinin altına farklı tarih ve sayı bilgileri girilebilsin ama "aynı tarih ve sayı" girilemesin. Ancak bu tarih ve sayılar Tablo1 deki B harfinin altına girilebilir. Yani mükerrerliği engelleme işlemi Tablo1 de "seçilen harfin altındaki" verilerde oluşmalı. Örneklerdekiler hep tek tabloda geçerli sanki. Birden çoğa ilişkili iki tabloda değiller gibi.
koşullu dcount kullanarak tarih ve sayı kontrolü yapılabilir.
Verileriniz alt formda olduğu için koşula "harf_id=" & Me.harf_id eklerseniz 3lü kontrol sağlanmış olur
Verileriniz alt formda olduğu için koşula "harf_id=" & Me.harf_id eklerseniz 3lü kontrol sağlanmış olur
Tek tablo veya bire bir / bire çok ilişkili tablolar olmasının ne farkı var? Sonuçta denetim yapacağınız alanlar belirli, ilişkili tabloda bağlı alanı da kullanarak iki tabloda denetim yapılır.
Harf var mı yok mu? Varsa tarih denetimi / yoksa yapılacaklar, tarih varsa sayı denetimi / yoksa yapılacaklar; sayı varsa mükerrer kayıt engelleme yoksa kayıt işlemleri mantığı ile kurgulayabilirsiniz. İncelediğiniz örneklerdeki çözümler illaki bir tabloya uygulanır veya sadece tek denetim üzerinde kullanılabilir çözümler değil. Kayıt denetimi yapacaksanız öncelikle formlarınızın otomatik kayıt yapmasını önlemelisiniz. Sonrasında yukarıdaki mantık ile incelediğiniz örneklerden yola çıkarak kendi senaryonuzu uygulayabilirsiniz.
Harf var mı yok mu? Varsa tarih denetimi / yoksa yapılacaklar, tarih varsa sayı denetimi / yoksa yapılacaklar; sayı varsa mükerrer kayıt engelleme yoksa kayıt işlemleri mantığı ile kurgulayabilirsiniz. İncelediğiniz örneklerdeki çözümler illaki bir tabloya uygulanır veya sadece tek denetim üzerinde kullanılabilir çözümler değil. Kayıt denetimi yapacaksanız öncelikle formlarınızın otomatik kayıt yapmasını önlemelisiniz. Sonrasında yukarıdaki mantık ile incelediğiniz örneklerden yola çıkarak kendi senaryonuzu uygulayabilirsiniz.
Kodu aşağıdaki şekilde yazdım ama hata alıyorum; Hata nerede? Forma harf_id kutusunu da ekledim.
Kod:
Private Sub Komut4_Click()
Dim SayKayit As Integer
SayKayit = DCount("*", "Tablo2", [harf_id] & "=" & Me.harf_id & " and " & "tarih='" & Me.tarih & " and " & "sayı='" & Me.sayı & "'")
If SayKayit > 0 Then MsgBox (" Aynı Harfe Aynı Tarih ve Sayı Verilmiştir ")
Exit Sub ' exit sub fonksiyondan çıkmanızı sağlar
End Sub
Konuyu Okuyanlar: 1 Ziyaretçi