AccessTr.neT
Tekrarlayan Kaydı 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ığı: Tekrarlayan Kaydı Engelleme (/konu-tekrarlayan-kaydi-engelleme.html)

Sayfalar: 1 2 3 4


RE: Tekrarlayan Kaydı Engelleme - notrino - 02/10/2024

Evet haklısınız, gelen cevaba göre ben alanlarımı metin olarak revize ettim. Ondan çalışıyor Img-grin


RE: Tekrarlayan Kaydı Engelleme - berduş - 02/10/2024

aslında söylediklerimizi uygulasaydınız alanları değiştirmeye gerek kalmazdı
aşağıdaki kodun sorunsuz çalışması gerek
SayKayit = DCount("*", "Tablo2", "harf_id=" & Me.harf_id & " and tarih=" & CLng(Me.tarih.Value) & " and sayı=" & Me.sayı.Value)



RE: Tekrarlayan Kaydı Engelleme - onur_can - 02/10/2024

(02/10/2024, 12:00)berduş yazdı: aslında söylediklerimizi uygulasaydınız alanları değiştirmeye gerek kalmazdı
aşağıdaki kodun sorunsuz çalışması gerek
SayKayit = DCount("*", "Tablo2", "harf_id=" & Me.harf_id & " and tarih=" & CLng(Me.tarih.Value) & " and sayı=" & Me.sayı.Value)

Evet @berduş hocam komut çalışıyor.
Yalnız bu şekilde yine mükerrer kayıt oluşuyor. Bu da 2 tablonun yanlış ilişkilendirilmesinden kaynaklanıyor. Bunu düzeltmek için Tablo2 tablosunda bulunan harf_id alanını silip yeni bir alan oluşturulması gerekiyor. Alnın veri türü Arama sihirbazıyla oluşturulup Tablo1 deki kimlik ve HARF alanlarını kapsayacak şekilde oluşturulmalı, ayrıca Ana formdaki alt formun üst ve alta alanlarının birbirine bağlanması gerekir.


RE: Tekrarlayan Kaydı Engelleme - berduş - 02/10/2024

@onur_can hocam ben denediğimde yeni kaydı eklemiyordu
az önce yine dendim kaydı eklemiyor
kullandığım kod
    Dim veriSayisi As Integer
    If IsNull(Me.tarih.Value) Or IsNull(Me.sayı.Value) Then MsgBox "Tarih yada sayı alanı boş bırakılamaz": Exit Sub ' tarih yada sayı alanı boşsa uyarı verip yordamdan çıkar
    SayKayit = DCount("*", "Tablo2", "harf_id=" & Me.harf_id & " and tarih=" & CLng(Me.tarih.Value) & " and sayı=" & Me.sayı.Value)
   
    If SayKayit > 0 Then
        MsgBox "Bu kayıt zaten mevcut. Kayıt yapılamaz.", vbExclamation, "Uyarı"
        Me.Undo
    Else
        ' Kayıt işlemini gerçekleştirin
        DoCmd.RunCommand acCmdSaveRecord
        ' Yeni kayda geç
        DoCmd.GoToRecord , , acNewRec
    End If



RE: Tekrarlayan Kaydı Engelleme - onur_can - 02/10/2024

Doğrudur Hocam, ben sn notrinonun eklemiş olduğu uygulama üzerinden denedim, Sizin kodunuzda yanlışlık yok zaten, kodunuz çalışıyor, ilk indirdiğinizde tablolarda ilişki görebildiniz mi?
Yani kod çalışıyor fakat ilişki olmadığı için harfi atamıyor


RE: Tekrarlayan Kaydı Engelleme - berduş - 02/10/2024

kodu ilk mesajdki dosya üzerinde denemiştim
ben ilişkilendirmede bir soru göremedim
2. tablo ile 1. tablo; tablo2.harf_id<-->tablo1.kimlik üzerinden ilişkilendirilmiş ki bence de olması gereken bu
ana form ve alt form arasında da alan ilişkilendirilmesi doğru