Mükerrer Kayıtların Engellenmesi

1 2 3
12/03/2011, 02:07

durkheim

Merhaba.
Arkadaşlar, mükerrer kayıtların önlenmesi konusunda sürekli sıkıntı yaşıyorum. Eklentideki çalışmada KarnerVER isimli formdaki Liste2'ye çift tıkladığımda veriler ilgili yerlere(ADI,SOYADI vs.) aktarılıyor. Karne Seri No sadece bir kişiye ait olabilir. Başka birini aynı seri ile kaydetmek isteyince "Bu Seri No kullanılmaktadır!Önce Seri Numarasını Değiştiriniz" uyarısı gelmekte. Fakat siz değiştirsenizde değiştirmezsenizde verileri kayıt ediyor. Bu nedenlede aynı seri numarası bir çok kişiye verilebiliyor. Uyarı geldiğinde Seri Numarasını değiştirmediğim takdirde kesinlikle kayıt edilmemesi için ne yapabilirim?
12/03/2011, 02:21

Yandemir

formunuz tabloya bağlı bir yapıda olduğu için ne girerseniz onu kabul edip kaydediyor. mantığı değiştirmeniz gereklidir. yada inputbox komutu ile girişi deneyin
12/03/2011, 02:23

durkheim

(12/03/2011, 02:21)Yandemir yazdı: formunuz tabloya bağlı bir yapıda olduğu için ne girerseniz onu kabul edip kaydediyor. mantığı değiştirmeniz gereklidir.

Sayın Hocam, başka türlü nasıl çözümleyebilirim? Öneriniz nedir?
12/03/2011, 02:38

Yandemir

ekteki örneği inceleyin.
12/03/2011, 13:51

durkheim

Sayın Yandemir hocam, örnek ve yardım için çok teşekkür ederim. Çok fazla karne kaydı yaptığımız için "Bu Seri No kullanılmaktadır!Önce Seri Numarasını Değiştiriniz" uyarısını unutarak seri numarasını değiştirmediğimizde bile aynı seri numarası başka kişiler için yine de kayıt ediliyor. Kesinlikle aynı seri numarasının başka kişiler için kaydedilmesinin önlenmesi ve "Bu Seri No kullanılmaktadır! Seri Numarasını Değiştirmeden Yeni Kayda Geçemezsiniz" işlemini gerçekleştirmek mümkün değil midir?
12/03/2011, 14:40

Puletin

Programınız bende hata verdiği için tam olarak bakamadım

Şunu bir denermisiniz.

Kod:
Dim a, b, C, d As String
a = Me.txt_Ykartserino & "" & Me.Ykartseri
b = DLookup("[Ykartserino]", "KarneVER", "[Ykartserino]= " & Me.txt_Ykartserino)
C = DLookup("[Ykartseri]", "KarneVER", "[Ykartseri]=" & "'" & Me.Ykartseri & "'")
d = b & "" & C
   If a = d Then
        MsgBox "Bu Seri No kullanılmaktadır!!!Kontrol Ediniz!"
        
   Me.txt_Ykartserino.BackColor = vbGreen
     Undo
     DoCmd.GoToControl "Ykartserino"
     Else
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
      End If
Exit_Komut40_Click:
    Exit Sub
Err_Komut40_Click:
    MsgBox Err.Description
1 2 3