Merhaba arkadaşlar
acaba listbox üzerinden sorgu yaptırılarak mükerrer kayıt önlenebilirmi
şimdiden teşekkür ederim.
Listbox ta mükerrer kayıt sorgusu yaptırılabilirmi.
Maalesef sorunuz anlaşılmıyor.
Daha açıklayıcı bir şekilde, tam olarak amacınızın ne olduğu yazarsanız, çözüm üretilebilir.
Daha açıklayıcı bir şekilde, tam olarak amacınızın ne olduğu yazarsanız, çözüm üretilebilir.
Bildiğini bilenin arkasından git, bildiğini bilmeyeni uyar, bilmediğini bilene öğret, bilmediğini bilmeyenden kaç.
Konfüçyüs
Konfüçyüs
Sayın Seruz hocam
dosyayı ekledim. yapmak istediğim
kalıp adını sorgudan aldığı için listeye aynı adlı kalıbı tekrar girmemesidir.
tabloda da sorgulatsam olurmu.
yardımlarınız için teşekkür ederim.
dosyayı ekledim. yapmak istediğim
kalıp adını sorgudan aldığı için listeye aynı adlı kalıbı tekrar girmemesidir.
tabloda da sorgulatsam olurmu.
yardımlarınız için teşekkür ederim.
Bugün yoğundum, ancak bu saatte bakabildim.
Direkt isim yazdığınız için de benden başka kimse bakmamış sanırım.
Çözüm isterken direkt isim kullanmazsanız daha iyi olur bence.
Sadece ben değil diğer arkadaşlar da sorununuza çözüm bulabilir.
--
Neyse, konumuza dönelim.
Direkt ListBox nesnesinin böyle bir kontrol özelliği yok, çünkü siz listbox'a kayıt yapmıyorsunuz, tabloya kayıt yapıyorsunuz. Listbox sadece bu tablodaki kayıtları listeliyor. Mükerrer kontrolünü ancak kendiniz kodla yapabilirsiniz. Bunu da yapmaya çalışmışsınız zaten. Kalıp Adı combosunun BeforeUpdate kısmına bir kod yazmışsınız. Ancak bu combonun kullandığı "KalipGenelBilgiFormu" adlı tablo örneğinizde olmadığı için bende hata veriyor ve dolayısıyla kontrol edemedim tam olarak. Örneği tam kontrol etmeden göndermişsiniz anladığım kadarıyla.
Ama kodu incelediğimde tablodaki alan adını yanlış yazdığınızı görüyorum.
[Kalıp_Adı] şeklinde araya altçizgi eklemişsiniz ama sizin tabloda alan adında altçizgi yok boşluk var. [Kalıp Adı] şeklinde kullanmalısınız. Ayrıca bu kodda DCount ile "Ürün arama" diye bir tablo veya sorguyu kontrol ediyorsunuz, örnekte o da yok. Ancak siz madem listbox'ta mükerreri kontrol etmek istiyorsunuz o zaman listbox'ın kullandığı tablo olan "KALIPTESLIMONAYFORMU" nu kontrol etmelisiniz. Aslında bu kontroller için "Kalıp Adı" kullanılmaz, varsa Kalıp Kodu gibi bir alan kullanılmalı ama şimdi hiç karıştırmayayım konuyu.
Kodu bir de bu şekilde deneyin. Ben test edemedim
Olmazsa bu kodu birde formun BeforeInsert olayında deneyin.
Direkt isim yazdığınız için de benden başka kimse bakmamış sanırım.
Çözüm isterken direkt isim kullanmazsanız daha iyi olur bence.
Sadece ben değil diğer arkadaşlar da sorununuza çözüm bulabilir.
--
Neyse, konumuza dönelim.
Direkt ListBox nesnesinin böyle bir kontrol özelliği yok, çünkü siz listbox'a kayıt yapmıyorsunuz, tabloya kayıt yapıyorsunuz. Listbox sadece bu tablodaki kayıtları listeliyor. Mükerrer kontrolünü ancak kendiniz kodla yapabilirsiniz. Bunu da yapmaya çalışmışsınız zaten. Kalıp Adı combosunun BeforeUpdate kısmına bir kod yazmışsınız. Ancak bu combonun kullandığı "KalipGenelBilgiFormu" adlı tablo örneğinizde olmadığı için bende hata veriyor ve dolayısıyla kontrol edemedim tam olarak. Örneği tam kontrol etmeden göndermişsiniz anladığım kadarıyla.
Ama kodu incelediğimde tablodaki alan adını yanlış yazdığınızı görüyorum.
[Kalıp_Adı] şeklinde araya altçizgi eklemişsiniz ama sizin tabloda alan adında altçizgi yok boşluk var. [Kalıp Adı] şeklinde kullanmalısınız. Ayrıca bu kodda DCount ile "Ürün arama" diye bir tablo veya sorguyu kontrol ediyorsunuz, örnekte o da yok. Ancak siz madem listbox'ta mükerreri kontrol etmek istiyorsunuz o zaman listbox'ın kullandığı tablo olan "KALIPTESLIMONAYFORMU" nu kontrol etmelisiniz. Aslında bu kontroller için "Kalıp Adı" kullanılmaz, varsa Kalıp Kodu gibi bir alan kullanılmalı ama şimdi hiç karıştırmayayım konuyu.
Kodu bir de bu şekilde deneyin. Ben test edemedim
Kod:
Private Sub Kalıp_Adı_BeforeUpdate(Cancel As Integer)
Dim Dur, Kriter As String
Dur = Me.[Kalıp Adı].Value
Kriter = "[Kalıp Adı]=" & "'" & Dur & "'"
If DCount("[Kalıp Adı]", "KALIPTESLIMONAYFORMU", Kriter) > 0 Then
'Undo duplicate entry
MsgBox "" & Dur & " Daha Önce Girilmiş." _
& vbCr & vbCr & " Lütfen Farklı Bir Ürün Adı Giriniz.", vbInformation _
, "Mükerrer Kayıt..."
Cancel = True
Me.Undo
End If
End Sub
Bildiğini bilenin arkasından git, bildiğini bilmeyeni uyar, bilmediğini bilene öğret, bilmediğini bilmeyenden kaç.
Konfüçyüs
Konfüçyüs
Sayın seruz hocam
sorun çözülmüştür. emeğine ve yüreğine sağlık.
teşekkür ederim.
sorun çözülmüştür. emeğine ve yüreğine sağlık.
teşekkür ederim.
Konuyu Okuyanlar: 1 Ziyaretçi