UserForm Üzerinde Koşullu Filtreleme

Katılım
28 Eylül 2009
Mesajlar
245
Excel Vers. ve Dili
office 2003 kullanıyorum
Altın Üyelik Bitiş Tarihi
23/10/2018
Değerli arkadaşlar fırsat buldukça araştırma yapıp kendimi geliştirmeye çalışıyorum çeşitli dosyalar üzerinde kısıtlı bilgimle deneme yanılma yöntemi ile bir şeyler yapmaya çalışıyorum fakat bir yerde tıkandım yapmaya çalıştığım şey UserForm üzerinde filtreleme yapıp listbox'ta göstermek ama başarılı olamadım ekteki dosyamda açıklayıcı bir örnek mevcut yardımcı olursanız çok sevinirim yardımlarınız için şimdiden teşekkür ederim
 

Ekli dosyalar

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,549
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Dosyanızı biraz değiştirdim .

Sn Haluk , Sn Baran , Sn Ayhan'ın kod yardımlarından esinlenerek ekteki hale getirdim.
Kayıt ve rapor/fitre sayfası var , süzmeler aynı anda arkada da gerçekleşiyor. İsterseniz
süzülmüş olarak print alabiliyorsunuz, printer ayarlarınızı yapmanız gerekebilir.

Soru : Neden tc kimlik no kullanmıyorsunuz ? Adaş hasta gelme ihtimali az da olsa var.
Bana göre ; şu anki kayıt no yerinde tc kimlik no olmalı ki, rahatça kişiyi tek tuşla bulup
satırında ekleme düzeltme yapabilesiniz .

Bu şekilde filtrede doğru no yu bulup geri dönerek kayıt no kutusuna yazıp bul demeniz gerek.
Sonraki düzeltmede Bul tuşu kullanıldığında yanlış ikiz kayıda düşmemek için kayıt tuşu pasiflenip,
düzelt tuşu ile açılır olacak.

Filtrede tarih ve sayı kodlama henüz bitmedi ,yarın devamına sorun bilgilerinize göre bakabilirim .
Ekteki dosyayı inceleyiniz , sizdeki excelde yaşanacak sorun ve fikirlerinizi bildiriniz.
 

Ekli dosyalar

Son düzenleme:
Katılım
28 Eylül 2009
Mesajlar
245
Excel Vers. ve Dili
office 2003 kullanıyorum
Altın Üyelik Bitiş Tarihi
23/10/2018
Sayın cems ilgi ve alakanıza teşekkür ederim resmen sıfırdan bir sistem yapmışsınız ama bazı sorunlar var mesela dosya uzantısı .xlsm ben 2003 kullanıyorum doğal olarak dosyada bazı kodlar hata veriyor. İkincisi neden "TC" kimlik no ile kayıt yapmadığımızı sormuşsunuz hasta mahremiyeti ve kişisel bilgilerin gizliliği ilkesi gereği hastalara ait bilgiler adresler tel no vs gibi şeyler hastane bilgi sistemi veri tabanı dışında başka bir yere kayıt yapılamaz depolanamaz ben sadece ad soyad birde dosya numarasını kullanarak excelde istatistiksel kayıtlar tutuyorum oda sadece iki tarih arasında işte dr selim kaç endoskopi yapmış kaçından biyopsi alımış yada dr atila kaç kolon yapmış kaçından biyopsi almış gibi istatistik ben bunları HBS sisteminden'de bakabilirim ama her doktorun performans bilgileri kendi TC no ve şifreleri ile girilerek bakılabiliyor ben yaklaşık 10 tane dr ile çalışıyorum yani benim için biraz zorlayıcı ama excelde ilk örnek dosyam üzerinde yapmış olduğum userform benim işimi görüyor affınıza sığınarak ben sizin göndermiş olduğunuz dosyayı modifiye edip başka projelerde kullansam sizde benim ilk dosyam üzerinden bana yardımcı olsanız olurmu zaten ben manuel veri girişide yapmıyorum HBS'den kopyala yapıştır yapıyorum o yüzden bu formu kullanamam sizden ricam ilk dosyamdaki örnek için kod yazabilirmisiniz teşekkürler
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,549
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
ilk dosyam üzerinden bana yardımcı olsanız olurmu
Sorun şu ki, 2003 yüklü olan makina bakıma gitti, şu an yapabileceğim en iyi şey 2010 üzerinde elimden gelen varsa yapmak ve sonuçtan emin olmadan size deneme için göndermek.

Siz benim ya da sitenin dosyalarını istediginiz yer zaman ve amaçla kullanabilirsiniz bunda sıkıntı yok .

Mesele o ki ; 2003 office'si aktif olan bir arkadaş belki benden daha hızlı ve doğru çözüm verebilir.

HBS den veri alırken sağtıklayıp kopyala yapıştır değil , veriyi boyayıp Ctrl+c ile alıp yükleyeceğiniz yerde Ctrl+P yapın. Bu daha hızlı ve pratik olabilir.
 
Katılım
28 Eylül 2009
Mesajlar
245
Excel Vers. ve Dili
office 2003 kullanıyorum
Altın Üyelik Bitiş Tarihi
23/10/2018
Sayın cems ilginize ve nezaketinize tekrar teşekkür ederim. ilk dosyamdaki örneğe 2010'da kod yazsanız 2003'te çalışmazmı acaba öyle bir denesek olurmu ama çok rica edicem lütfen diğer dosya gibi uğraşmayın sizi çok uğraştırdığımı düşünüyorum çok mahcup oldum size karşı en basit hali ile örneklerseniz sevinirim dediğim gibi lütfen çok fazla uğraşmayın değerli zamanınızı almak istemem
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,549
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
ilk dosyamdaki örneğe 2010'da kod yazsanız 2003'te çalışmazmı acaba öyle bir denesek olurmu
Yapılacak tek şey sanırım en az gelişmiş nesne kullanarak denemelik bir ilerlemeyi sizin dosyanızda ama 2010 kullanarak yapmak. Bu şekilde sonuç hakkında şimdiden söylemek gerekirse ; zemin doğru olmadığından iyimser olamam. Nesne dışında ,kodlamada da küçük ama durdurabilen farklar oluyorsa da buna rastladığınız yerde bir büyüğe sorarız o bölümde nasıl değiştirmek gerektiğini.

Bunda mahcupluk bir şey yok , neticede toplandık birbirimize az ya da çok kimimiz hobi kimimiz iş için endüstriye yardım eden bir şeyler yapıyoruz. Olsa da olmasa da en azından yapmadım demeyiz, denedik olmadı deriz :)

İlerleyen günlerde dosyayı bu kısıtı da gözeterek tamamlamaya çalışacağım.
 
Katılım
28 Eylül 2009
Mesajlar
245
Excel Vers. ve Dili
office 2003 kullanıyorum
Altın Üyelik Bitiş Tarihi
23/10/2018
sayın cems yardımlarınızı bekliyorum bu arada alternatif önerisi olan arkadaşların önerilerinide görmek isterim teşekkür ederim
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
..... bu arada alternatif önerisi olan arkadaşların önerilerinide görmek isterim teşekkür ederim

Merhaba;

Ekteki dosyada sizin için bir alternatif hazırladım. Bu alternatifte esas olarak;

1) Cem beyin hazırlamış olduğu dosyayı inceleyemedim ancak, ben sizin ilk mesajınız ekindeki UserForm'u esas alarak, buna göre çalıştım.

2) Diğer yandan; verilerinizin örnek dosyada şimdilik 1000 adetten fazla olduğunu gördüğüm ve bu sayının ileride daha da artabileceğini düşündüğüm için, veri tabanı olarak kullanılan dosyaya herhangi bir kod yazmadım. Zira; hazırlanan kodlar eğer sorun çıkartır ve verilerin olduğu dosya bozulursa, verilerinizi geri getirmeniz belki de imkansız bir hale gelebilecektir. Söz konusu riski bu şekilde önleyebiliriz.

3) Bu nedenle, ayrı bir dosyada (Sorgu.xlsm) DAO kullanarak hazırladığım kodlarla, kapalı durumdaki veri tabanı dosyanızdan (Gastro.xls) ilgili veriler alınmakta, istenilen şartlara göre veriler süzülmekte ve isteğe bağlı olarak kodların yazıldığı dosyada "Rapor" sayfasına listelenmektedir.

4) Bir diğer konu ise; ben kodları Ofis 2010 ile hazırladığım için, benim bilgisayarımda takvim nesnesi yok. Bu yüzden, UserForm üzerinde 2 adet ComboBox ile uyduruk bir takvim yapıp, işimi halletmeye çalıştım. Belki görsellikten uzak ama, bu şekilde hiç olmazsa söz konusu ActiveX nesnesi olmayan bilgisayarlarda kodlar çalışacaktır.

5) Sorgulamada; tarih aralığı, doktor adı, işlem adı ve BX'in tümü birlikte veya münferiden yapılabilmesi sağlanarak, esnek bir şekilde sorgulama yapılması hedeflenmiştir.

6) Sonuç olarak; siz "Gastro.xls" isimli dosyanızda verileriniz girdikten sonra, istediğiniz zaman "Sorgu.xlsm" dosyasını açıp, burada işlem yapabileceksiniz. İşlem yaparken, "Gastro.xls" dosyası kapalı olabilir, hiçbir sıkıntı olmayacaktır.

Bu kadar yazıyı okuduktan sonra eğer hala sıkılmadıysanız (ben olsam sıkılırdım :biggrin:) , ekli dosyayı inceleyebilirsiniz.

Kolay gelsin,

.
 

Ekli dosyalar

Son düzenleme:

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,549
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Sayın Pylor

Sayın Haluk konuyu en optimum güvenli ve mantıklı şekilde çözmüş , benim bu dosya üstüne söyleyecek sözümolmaz , saygı ile sorudan çekilmem en doğrusu gibi :)
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Cem Bey, çok yaşayın doğrusu ...... gülümsettiniz beni.

Saygı bizden,

Not: Açıkçası; kodları optimize etmedim, aklıma geldiği şekliyle yazdım. Sıkılmasam, biraz daha uğraşınca azalacaktır kodlar ama bunlar şimdilik iş görür.

.
 
Katılım
28 Eylül 2009
Mesajlar
245
Excel Vers. ve Dili
office 2003 kullanıyorum
Altın Üyelik Bitiş Tarihi
23/10/2018
Sayın cems ve sayın haluk ilgi alaka ve nezaketinize çok teşekkür ederim resmen döktürmüşsünüz. Sayın haluk okumaktan ve araştırmaktan sıkılmadım sıkılmamda zira sizin bu kadar emek verip uğraştığınız dosyam ile ilgili bilgileri okurken sıkılmaktanda ar ederim sıkılmadan okudum fakat rar'lı dosyayı indirip açmak istediğimde "Arşiv biçimi tanınmıyor veya arşiv hasarlı" diye bir hata veriyor dosyayı yeniden rarlayıp yüklemeniz mümkünmü acaba
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Merhaba;

Sanıyorum WinRar programınız güncel değil, o yuzden dosyayı açamadınız. Ben size her 2 dosyayı da sıkıştırmadan 8 No'lu mesajımın ekinde veriyorum.

Selamlar,

.
 
Katılım
28 Eylül 2009
Mesajlar
245
Excel Vers. ve Dili
office 2003 kullanıyorum
Altın Üyelik Bitiş Tarihi
23/10/2018
haluk bey çok teşekkür ederim ilk fırsatta inceleyeceğim hayırlı akşamlar
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Tekrar merhaba;

Daha önceki 8 No'lu mesajımda; kullanmakta olduğum bilgisayarda "Takvim" nesnesi olmadığı için bulduğum çözümden bahsetmiştim.

Ancak; o şekilde başlangıç ve bitiş tarihlerini seçmek biraz zor oluyordu. Bu kez, Ofis2010'un standart ActiveX nesnelerini kullanarak, aşağıdaki resimde görüldüğü gibi başka bir uydurma takvim hazırladım :)biggrin:).

Hiç olmazsa, şimdi tarihleri seçmek artık daha kolay olacaktır.

Buna göre revize edilmiş dosya ("Sorgu5.xlsm") yukarıda 8 No'lu mesajımın ekinde bulunmaktadır.

İyi akşamlar,

 
Son düzenleme:

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Dosyadaki takvim kullanımı yenilenmiştir.

Kullanmış olduğu Ofis programında takvim nesnesi bulunmayan üyelerin işine yarayabilecek bir çalışmadır.

.
 
Katılım
28 Eylül 2009
Mesajlar
245
Excel Vers. ve Dili
office 2003 kullanıyorum
Altın Üyelik Bitiş Tarihi
23/10/2018
Sayın haluk göndermiş olduğunuz dosyaların hepsini inceledim hepsi için ayrı ayrı teşekkür ederim bu dosyaları inceledikten sonra ilme ve ilim tahsil eden kişilere olan saygım bir kat daha arttı ben bu işin iki if bir else ile çözülebileceğini sanmıştım ama birde baktımki "DB" ler "RS" ler "dbRow" lar "DAO.DBEngine" ler daha neler neler onca kod yumağı havada uçuşuyor allahım dedim bu ne ceketin düğmesini ilikleyip bilgisayarın karşısından usulca kalkıp eve gittim sabah gelip tekrar açtım bugünden beri kodları anlamaya çalışıyorum hala çalışıyorum kararlıyım çözücem ben bu kodları tabi kodlar beni sarhoş etmesse emekleriniz için tekrar teşekkürler iyi akşamlar
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Rica ederim, kolay gelsin ... iyi akşamlar.

.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Teşekkür ederim Korhan Bey.

.
 
Katılım
28 Eylül 2009
Mesajlar
245
Excel Vers. ve Dili
office 2003 kullanıyorum
Altın Üyelik Bitiş Tarihi
23/10/2018
Sayın haluk çalıştığım ortamın yoğunlu nedeni ile yapmış olduğunuz çalışmayı kısa aralıklarda ancak her fırsatta inceledim fakat bir türlü başarılı olamadım aradan koşul çıkarmaya çalıştım olmadı koşul eklemek istedim olmadı koşulun bulunduğu sütunu değiştirmek istedim olmadı daha neler neler denedim ama olmadı en sonunda yine sizden yardım almaya karar verdim buna göre
a: neden kapalı dosya olmak zorunda bu verilere kapalı dosyadan almak için önce kapalı dosyaya kayıt yapmam gerek ben ise kayıtlarımı aynı dosya için depoluyorum aynı dosya içinde süzme işlemi yapılamazmı gerekirse filtreleme işlemini listenin bulunduğu kabuller sayfasındada yapabilirim.
b: Private Sub Initialize_DataBase(), Private Sub CommandButton1_Click() başlıkları altındaki kodlar içinde oynama yaptığımda kodlar hata veriyor bu ve diğer başlıklar altındaki kodlar “ClassCommandButts” başlığı altındaki kodlardan etkileniyormu.
c: sizin yapmış olduğunuz takvimi değişik dosya içinde denedim ama çalışmadı bunun nedeni nedir
d: birde yazmış olduğunuz kodların hangi işlemleri gerçekleştirdiğini kısa notlar halinde açıklayabilirmisiniz bu şekilde userforma bir şey eklemek yada çıkarmak istediğimde nasıl bir yol izleyeceğim hakkında daha net fikirler elde edebilirim. Yardımlarınızdan dolayı çok teşekkür ederim
 
Üst