• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü Listview Süzme ve Filtreleme

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

turgay1983

Yeni Üye
Katılım
14 Haz 2022
Mesajlar
209
Çözümler
2
Aldığı beğeni
21
Excel V
Office 2016 TR
Konu Sahibi
Herkese merhaba
ben ekteki gibi ufak bir muhasebe programı hazırlamaya çalışıyorum yalınız. listelerde listview lere üstlerindeki tekxbox yazılana göre filtreleme yapmasını sağlayamadım. örnek cari listesine bir bakıp yardım ederseniz çok memnun olurum. şimdiden teşekkürler
 
Çözüm
Merhaba.
Kodunuzu düzenlemiştim.Deneyin.
Aslında ado ile daha hızlı ve basit olabilirdi galiba.
İçerik olarak arama ile yaptım.

HTML:
JavaScript:
İçeriği görebilmek için Giriş yap ya da Üye ol.
veri alınacak aralığı bulurken A SÜTUNU'nu kontrol ediyorsunuz, boşsa çıkıyorsunuz anladığım kadarıyla ya arada tek tük boş varsa ama sonra devam ediyorsa? doğrudan A SÜTUNU'nundaki son satırı bulmak daha uygun olmaz mı?
 
Merhaba.
Kodunuzu düzenlemiştim.Deneyin.
Aslında ado ile daha hızlı ve basit olabilirdi galiba.
İçerik olarak arama ile yaptım.

HTML:
JavaScript:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Çözüm
Konu Sahibi
veri alınacak aralığı bulurken A SÜTUNU'nu kontrol ediyorsunuz, boşsa çıkıyorsunuz anladığım kadarıyla ya arada tek tük boş varsa ama sonra devam ediyorsa? doğrudan A SÜTUNU'nundaki son satırı bulmak daha uygun olmaz mı?
Merhaba kodu ararken a stünu adı ararken c sütünü kontrol etsin istemiştim
 
Konu Sahibi
Merhaba.
Kodunuzu düzenlemiştim.Deneyin.
Aslında ado ile daha hızlı ve basit olabilirdi galiba.
İçerik olarak arama ile yaptım.

HTML:
JavaScript:
İçeriği görebilmek için Giriş yap ya da Üye ol.
çok güzel yanlınız bir harf yazıp sildiğimde listeyi tamamen siliyor. bunu nasıl engellerim
 
With ThisWorkbook.Worksheets("Cari") kodunun altına alttakini ekleyin.
HTML:
JavaScript:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
alternatif olarak aşağıdaki kod da denenebilir
Arama Kodu:
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
form yüklenirken çalışan Listeleme kodu
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Bu ado ile kod hazırlamıştım ekleyeyim.
Ayrıca hatanız var şöyleki;
Listviewin sütun isimlerini yazarken hepsini yazmışsınız listviewde görünmemesini istemediklerinizin sütun genişliğini sıfır yaparak gizletmişsiniz.
Bunun yerine sırasıyla hangi başlıklar görükecekse sadece onları yazın sırasıyla ve alttaki koddaki lstv.SubItems(2) 2 yerine 1 yazıp ve 8 yerine 2 yazıp devam edebilirsiniz.
Bu kodu kullanmayacaksanızda diğer kodada dediklerimi uygulayabilirsiniz.
umarım anlatabilmişimdir.

HTML:
JavaScript:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Yada IIF kullanmadan alttaki gibi.

HTML:
JavaScript:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Son düzenleme:
Konu Sahibi
Bu ado ile kod hazırlamıştım ekleyeyim.
Ayrıca hatanız var şöyleki;
Listviewin sütun isimlerini yazarken hepsini yazmışsınız listviewde görünmemesini istemediklerinizin sütun genişliğini sıfır yaparak gizletmişsiniz.
Bunun yerine sırasıyla hangi başlıklar görükecekse sadece onları yazın sırasıyla ve alttaki koddaki lstv.SubItems(2) 2 yerine 1 yazıp ve 8 yerine 2 yazıp devam edebilirsiniz.
Bu kodu kullanmayacaksanızda diğer kodada dediklerimi uygulayabilirsiniz.
umarım anlatabilmişimdir.

HTML:
JavaScript:
İçeriği görebilmek için Giriş yap ya da Üye ol.
merhaba bir önceki kod işimi gördü ama usrstok listesine uyguladığımda hata veriyor kodları uygun yazmama rağmen sorun neden kaynaklıdır.
 
ADO ile baya ağırlaşıyor hocam 2000 küsür kayıtta ilgili kayıtları getirmesi 8sn sürüyor, önceki kodunuzda 1,26sn sürüyordu
burada sadece isim alanına 1 harf tek girdim
 
Son düzenleme:
Tamam Halil hocam ben 10 satırlıkta denemiştim.Aslında neden yavaş oluyor anlamadım sorgudan geleni diziye almıştım :(
Bir ara unutmazsam bir bakarım.
Belkide select * burdaki yıldızdandır bunun yerine gerekli alan adlarını tek tek yazmak hızlandırabilir.
 
açık kitaplarda doğrudan diziye aktarmak en hızlı yöntem galiba ADO'da (referanslı olarak da denedim) bağlantı oluştrup verileri alması çok zaman kaybettiriyor. excel dosyasını kapatıp açtıktan sonraki tüm denemelerimde ADO 3 yöntem arasında en hızlısı çıktı
 
Son düzenleme:
hocam dosyayı kapatmıştım yeniden az önce ado ile tekrar denedim 0,23sn'ye kadar düşmüş hocam))
frz_ado 2113 0,3652344
frz_ado 2113 0,2548828
frz_ado 2113 0,2270508
frz_ado 2113 0,2661133
frz_ado 2113 0,230957
frz_ado 2113 0,2373047
 
Geri
Üst