tekrar eden bilgi kontrolünde hata mesajı alıyorum

Katılım
16 Şubat 2007
Mesajlar
323
Excel Vers. ve Dili
office 2003 prof.tr
Merhaba arkadaşlar,
cevabını forumdan bulduğum bir problemim vardı. Bu sorunum için aşağıdaki kodu aldım ve kısmen çözüme ulaştım ancak şimdi yeni bir problem yaşıyorum sorun şu; tablo kaynağında "yineleme yok" özelliğine sahip bir alanın formda denetlenerek girilen değerin daha önce kayıtlı olup olmadığını kontrol edip, eğer daha önce kayıtlıysa kullanıcıyı ikaz eden şu kodu kullanıyorum.

Private Sub adısoyadı_BeforeUpdate(Cancel As Integer)
Dim SID As String
Dim stLinkCriteria As String
SID = Me.[adısoyadı].Value
stLinkCriteria = "[adısoyadı]=" & "'" & SID & "'"
If DCount("[adısoyadı]", "giriş", stLinkCriteria) > 0 Then
'Undo duplicate entry
MsgBox "Girmekte Oldugunuz " _
& SID & " isim Daha Önce İşlenmiş." _
& vbCr & vbCr & "Lütfen Kayıtları Kontrol Ediniz.", vbInformation _
, "Mükerrer Kayıt"

End If
End Sub
buraya kadar istediğimi yapıyor, yani daha önceden girilen değer varsa ikaz ediyor ancak,
yeni kayıtlar sırasında geçmişte bu alana kaydettiğim bir değeri silip yeni eklediğim kayda yazmak istediğimde kod hatası veriyor ve değerini sildiğim alandan çıkışım engelleniyor. "debug" düğmesine bastığımda
"SID = Me.[adısoyadı].Value"
satırı sarı işaretli olarak görünüyor. yani alanda silerek (Boş kalmasına) çıkışa izin vermiyor, mutlaka bir veri bulunmasına zorluyor. ben ise sadece varolan değerlerde yineleme olmamasını ancak boş kayıtlar bulunmasına izin vermesini istiyorum. bu hatayı gidermek için ne yapmam gerekiyor.
 
Katılım
16 Şubat 2007
Mesajlar
323
Excel Vers. ve Dili
office 2003 prof.tr
tabloda veri bulunmasına zorla seçeneği hayır işaretli
 
Katılım
16 Şubat 2007
Mesajlar
323
Excel Vers. ve Dili
office 2003 prof.tr
arkadaşlar sorumla ilgilenebilir misiniz?
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın abkb,

Sanırım hata yineleme olmama özelliğinden oluşuyor. Siz bir değer girdiniz ve tablo güncellenmeden kontrolünü yaptınız ve size bu değerin var olduğunu hatırlatan bir ileti kutusu ile karşılaştınız. Bu kutuyu kapattığınız an alanın güncellenmesi olayına geçiyorsunuz ve aynı değer girildiğinden hata üetiyor uygulamanız.

İyi çalışmalar
 
Katılım
22 Ocak 2007
Mesajlar
128
Excel Vers. ve Dili
Ofis excell 2003 türkçe
Sayın modlalı, daha önce bu kodu almış ve memnun kalmıştım. Yani veri girildiğinde eğer o veri daha önce girilmişse kullanıcı uyarılıyor, onda bi aksaklık yok.

Ancak kullanıcılar zır cahil yani uyardığı gibi o veriyi girmemesini de zorlasak bu mümkün mü?

Yani veri girilmeden alanı terk etebilsin, ama tekrar eden veriyi giremesin.

Yardım edecek arkadaşlara teşekkürler.
 
Katılım
26 Ekim 2006
Mesajlar
169
Excel Vers. ve Dili
office 2003
Sayın modlalı, daha önce bu kodu almış ve memnun kalmıştım. Yani veri girildiğinde eğer o veri daha önce girilmişse kullanıcı uyarılıyor, onda bi aksaklık yok.

Ancak kullanıcılar zır cahil yani uyardığı gibi o veriyi girmemesini de zorlasak bu mümkün mü?

Yani veri girilmeden alanı terk etebilsin, ama tekrar eden veriyi giremesin.

Yardım edecek arkadaşlara teşekkürler.
Private Sub adısoyadı_BeforeUpdate(Cancel As Integer)
Dim SID As String
Dim stLinkCriteria As String
SID = Me.[adısoyadı].Value
stLinkCriteria = "[adısoyadı]=" & "'" & SID & "'"
If DCount("[adısoyadı]", "giriş", stLinkCriteria) > 0 Then
'Undo duplicate entry
MsgBox "Girmekte Oldugunuz " _
& SID & " isim Daha Önce İşlenmiş." _
& vbCr & vbCr & "Lütfen Kayıtları Kontrol Ediniz.", vbInformation _
, "Mükerrer Kayıt"

End If
Me.Undo
End Sub
Me.Undo ekleyin aynı kayıt varsa uyarıyor ve son yazılanı siliyor
 
Katılım
16 Şubat 2007
Mesajlar
323
Excel Vers. ve Dili
office 2003 prof.tr
Sayın abkb,

Sanırım hata yineleme olmama özelliğinden oluşuyor. Siz bir değer girdiniz ve tablo güncellenmeden kontrolünü yaptınız ve size bu değerin var olduğunu hatırlatan bir ileti kutusu ile karşılaştınız. Bu kutuyu kapattığınız an alanın güncellenmesi olayına geçiyorsunuz ve aynı değer girildiğinden hata üetiyor uygulamanız.

İyi çalışmalar
Sayın modalı, bahsettiğiniz alanın tablodan yineleme yok seçeneğini hayır olarak düzenledim ancak aynı hata devam ediyor. mutlaka bir değer girilmesine zorluyor. oysa ben varolan değeri yeni kayıtta kullanmak için eski kayıttaki alanı silip yeni kayda girmek istiyorum.
koddaki hata satırı da hala aynı noktayı işaret ediyor. acaba ne yapabilirim.
 
Üst