• 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ü acces sorgulama hakkında.

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

erdem dağ

Yeni Üye
Katılım
25 Mar 2023
Mesajlar
134
Çözümler
1
Aldığı beğeni
27
Excel V
Office 2007 TR
Konu Sahibi
Değerli sayın ustalarım herkese iyi akşamlar.

Excel vba aşağıdaki kodlar ile accesden benzersiz en son tarihli personel no listesi çekiyorum buraya kadar tamam ancak yapmaya çalıştığım şu; excelde A1 hücresine Pasif yazdığımda accesde durum adlı kolonda geçen aktif pasiflerden sadece pasif olanların gelmesini sağlamak.
Bir türlü yapamadım, değerli desteklerinizi rica ederim sayın ustalarım :)


HTML:
C#:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Çözüm
Dosya ekte.

Gifte ekledim.Siz Dao ile yapmışsınız ama normalde artık Ado ile yapılıyor neyse çalışıyor.
Access sütun adlarını Tr karakter yani Ş gibileri kullanırsanız sıkıntı yaşayabilirsiniz yazayım istedim.


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

ilk bakışta sorun buradaymış gibi duruyor. Where şartında tarihin karşısına bir değer gelirken durumun karşısına true ya da false gelmemiş aktif pasif gibi bir değer gelmemiş.

durum adlı alan mantıksal true false değer döndürüyorsa "durum=true" ya da "durum=false" gibi atamalar yapmalısınız. eğer string olarak "aktif", "pasif" gibi değerler tutuyorsanız da durum='aktif' gibi değerler girmelisiniz.
 
Konu Sahibi
Merhaba sayın aeGNor.
string atadım ve durum= string karşılığıda verdim ancak yine bişeyleri yapamadım :((((

aktif_pasif = Range("A1").Text
sorgu = " SELECT pdks.personel_no, pdks.ad, pdks.soyad, pdks.departman, pdks.evli_bekar,pdks.durumu, pdks.Forklift_ehliyeti,pdks.işe_giriş_tarihi,pdks.telefon_1,pdks.telefon_2,pdks.ücret" & _
" FROM (SELECT pdks.personel_no" & _
" FROM pdks" & _
" GROUP BY pdks.personel_no) as MxID INNER JOIN pdks ON MxID.personel_no = pdks.personel_no" & _
" WHERE (((pdks.işlem_kayıt_tarihi)=(SELECT MAX(işlem_kayıt_tarihi) FROM pdks AS T1 WHERE T1.personel_no=pdks.personel_no))) & durum" = aktif_pasif _
" ORDER BY pdks.personel_no;"
 
Konu Sahibi
Refaz bey abim selamlar, saygılar ve sevgiler abim :)

Refaz bey abim: Daha önce verdiğin sorgulama kodları mükemmel şekilde işliyor çalışıyor abi, ellerine sağlık abim.
iş yerim genel ifade ile depo abi, elleçleme işçisiyim, personel azaltma oldu, sizler sayesinde yaptığım excel makrolar ile beni işten çıkartmadılar abi ve ekmek parası kazanıyorum sizler sayesinde. Bugün maaş alıp eve ekmek götürüyorsam siz ve excelçözüm üyerleri sayesinde refaz bey abi :)

Excelcözüm ailesine ve üyelerine ayrı ayrı herkese teşekkürlerimi iletirim.
Sağolun varolun hepiniz, çok desteğiniz oldu bana çok çok hemde :)
 
Deneyemem ancak gece yada yarın denerim ama kıda bakarak yanlışları yazarım.
 
Sheets("Erdem").select

Yanılmıyorsam dosyanızda yukardaki kod vardı onu silmişsiniz gerçi kod Erdem sayfasında çalışırsa sorun olmaz.
Ayrıca on error resume next kodun önüne tek tırnak koyun hatayı gösterir.
Ben dosyanızda denemiş ve veriler gelmişti pasifte 2 adet aktiftede 2 adet gelmişti.
 
Sheets("Erdem").select

Yanılmıyorsam dosyanızda yukardaki kod vardı onu silmişsiniz gerçi kod Erdem sayfasında çalışırsa sorun olmaz.
Ayrıca on error resume next kodun önüne tek tırnak koyun hatayı gösterir.
Ben dosyanızda denemiş ve veriler gelmişti pasifte 2 adet aktiftede 2 adet gelmişti.
 
Kısaca 7.mesajdakş dosyadaki koda sadece 8.mesajdaki işaretlediklerimi ekleyip deneyin.
& & arasındakini 14.mesajdaki alttani yazabilirsiniz.
 
Konu Sahibi
abi on error resume next sildim tüm liste yani aktif pasif hepsi geldi. sadece pasif gelsin dedim olmadı abim :)
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst