Skip to main content

AccessTr.neT


Excel Userform'da Arama Sonucunda Kayıtlı Checkbox Değerleri Formda Görüntülenmiyor.

Oğuz Türkyılmaz
Oğuz Türkyılmaz
22
2020

Excel Userform'da Arama Sonucunda Kayıtlı Checkbox Değerleri Formda Görüntülenmiyor.

Çözüldü #1
Merhaba
Excel sayfasına kaydettiğim bilgilerde arama yapıp istediğim kaydı Userform ekranına getirdiğimde tüm check boxlarda işaretler varla yok arası çıkıyor. Haliyle Tikle işaretlenmiş kayıtlarda CheckBoxlarda görüntülenmiyor. Bu durumu nasıl aşabilirim. Teşekkürler.

[Resim: do.php?img=10792]
[Resim: do.php?img=10793]
.rar WİNPERAX.rar (Dosya Boyutu: 93,28 KB | İndirme Sayısı: 5)
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#2
[Resim: do.php?img=10794]

Resimdeki gibi deneyiniz.

Function Bosmu(deger) As Byte
    If IsNull(deger) Then
        Bosmu = 0
  Else
        Bosmu = 1
  End If
End Function

Private Sub btn_Arama_Click()

On Error GoTo Bitir
aranan = InputBox("Aramak istediginiz kaydýn ID Numarasini giriniz.", "KAYIT ARAMA")
Range("A:A").Find(aranan).Select
SatirSil = ActiveCell.Row

TextBox_ID.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 1)
TextBox_FirmaAdi.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 2)
TextBox_FirmaUnvani.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 3)
TextBox_YetkiliKisi.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 4)
TextBox_Telefon.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 5)
TextBox_Gsm.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 6)
TextBox_Email.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 7)
TextBox_Adres.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 8)
TextBox_Aciklama.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 9)
ComboBox_Ilce.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 10)
ComboBox_Sehir.Text = Worksheets("Ana_Sayfa").Cells(SatirSil, 11)
ComboBox_Bolge.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 12)
ComboBox_Temsilci.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 13)
ComboBox_RouteDay.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 14)
ComboBox_YetkiliBayilik.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 15)
CheckBox_AlbertGenau.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 16))
CheckBox_AsasPen.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 17))
CheckBox_ByErtTente.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 18))
CheckBox_Karpen.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 19))
CheckBox_OptimalYapi.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 20))
CheckBox_Palmiye.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 21))
CheckBox_Rsg.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 22))
CheckBox_Vizyon.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 23))
CheckBox_Winsa.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 24))
CheckBox_Diger.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 25))
TextBox_Tarih.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 26))
Exit Sub
Bitir: MsgBox "Aranan Kayit Bulunamadi!...", , "Firma Tanýmlama Formu"

End Sub

sizin kodlarda tümünü işaretliyor benimkide onu halledeyim kodu eklerim
Cevapla
#3
Kodun son hali bu.Checkbox kodlarındaki gibi herzaman .Value koymazsanız sonuna problemler olabiliyor.

Alttaki koddaki And deger <> "Wahr" olan yeri kaldırabilirsiniz silince çalışırsa benim Pc başka dil olduğu için ekledim.Birde "DOÐRU" bu kelimedeki Ð yerine büyük yumuşak ğ yazın.

Function Bosmu(deger) As Byte
If deger <> "Evet" And deger <> "DOÐRU" And deger <> "Wahr" Then
Bosmu = 0
Else
Bosmu = 1
End If
End Function

Private Sub btn_Arama_Click()

On Error GoTo Bitir
aranan = InputBox("Aramak istediginiz kaydýn ID Numarasini giriniz.", "KAYIT ARAMA")
Range("A:A").Find(aranan).Select
SatirSil = ActiveCell.Row

TextBox_ID.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 1)
TextBox_FirmaAdi.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 2)
TextBox_FirmaUnvani.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 3)
TextBox_YetkiliKisi.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 4)
TextBox_Telefon.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 5)
TextBox_Gsm.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 6)
TextBox_Email.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 7)
TextBox_Adres.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 8)
TextBox_Aciklama.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 9)
ComboBox_Ilce.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 10)
ComboBox_Sehir.Text = Worksheets("Ana_Sayfa").Cells(SatirSil, 11)
ComboBox_Bolge.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 12)
ComboBox_Temsilci.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 13)
ComboBox_RouteDay.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 14)
ComboBox_YetkiliBayilik.Value = Worksheets("Ana_Sayfa").Cells(SatirSil, 15)

CheckBox_AlbertGenau.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 16).Value)
CheckBox_AsasPen.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 17).Value)
CheckBox_ByErtTente.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 18).Value)
CheckBox_Karpen.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 19).Value)
CheckBox_OptimalYapi.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 20).Value)
CheckBox_Palmiye.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 21).Value)
CheckBox_Rsg.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 22).Value)
CheckBox_Vizyon.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 23).Value)
CheckBox_Winsa.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 24).Value)
CheckBox_Diger.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 25).Value)
TextBox_Tarih.Value = Bosmu(Worksheets("Ana_Sayfa").Cells(SatirSil, 26).Value)
Exit Sub
Bitir: MsgBox "Aranan Kayit Bulunamadi!...", , "Firma Tanýmlama Formu"

End Sub

(10/03/2021, 11:47)feraz yazdı: Function Bosmu(deger) As Byte    If deger <> "Evet" And deger <> "DOÐRU" And deger <> "Wahr" Then        Bosmu = 0    Else        Bosmu = 1    End IfEnd Function

Ayrıca checkboxlara gelecek veri sütunları evet yada hayır olacaksa yukardaki kodu alttaki ile değiştirin.

Function Bosmu(deger) As Byte
    If deger <> "Evet" Then
        Bosmu = 0
    Else
        Bosmu = 1
    End If
End Function
Cevapla
#4
Son olarak alttaki koduda ekleyeyim.İf kısımlarına eklemeler yapabilirsiniz hücredeki verye göre.

Function Bosmu(deger) As Byte
    ' 0 demek checkboxtaki tik olmayacak 1 se olacak demektir
    If deger = "Evet" Then Bosmu = 0
    If deger = "Hayýr" Then Bosmu = 1
End Function
Cevapla
#5
(10/03/2021, 11:59)feraz yazdı: Son olarak alttaki koduda ekleyeyim.İf kısımlarına eklemeler yapabilirsiniz hücredeki verye göre.

Function Bosmu(deger) As Byte
    ' 0 demek checkboxtaki tik olmayacak 1 se olacak demektir
    If deger = "Evet" Then Bosmu = 0
    If deger = "Hayýr" Then Bosmu = 1
End Function

Feraz Bey yeni kodlamanızdan sonra arama butonu ile çağırdığımız eski kaydın tarih alanında Tarih Bilgisi 0 olarak geliyor. Bunun dışında kodlar çalışıyor fakat güncelleme yaptığımızda güncelleme koduna checkboxların evet hayır değeri alması için eklediğim if kodlarında hata veriyor. 

[Resim: do.php?img=10795]
[Resim: do.php?img=10796]
.rar WİNPERAX.rar (Dosya Boyutu: 92,85 KB | İndirme Sayısı: 2)
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#6
Akşama bakayım abey.
.value yerine .value2 yada .text yazıp deneyiniz.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task