[VBA] SQL Sorguda bir kaç seçeneğe göre sorgu yapmak
#1
MERHABALAR

[Resim: 86RL.png]

YUKARIDAKİ GİBİ BİR FORM HAZILADIM. DAO KULLANARAK VERİ TABANINDAN verileri ilk açılışta belirlediğim tarihten sonrasını listview de gösteriyorum. Buraya kadar sorun yok ancak sol tarafta sorgulamada 1 numaraları bölümden istediğim günü seçtiğimde o güne ait getirtiyorum. Daha sonra 2 numaralı bölümden istediğim mahalleyi seçtiğimde ise 1 numaralı seçtiğim gün ve o gün içinde seçtiğim mahalle varsa onu göstermesi Yine 3 numaralı bölümde personeli seçtiğimde ise yine aynı işlemi yapsın.
Mesela Tek Tarih seçile bilsin , Tek Mahalle seçile bilsin , Tek Personel seçile bilsin
Yine tarih ve Mahalle , Tarih Personel , Personel Mahalle
Yine Mahalle Personel Tarih seçlinde seçimler yapmak istiyorum acaba bunun kodunu nasıl yapmama lazım.

Visual Basic
  1. Set db = CurrentDb()
  2. strSQL = "SELECT Tb_Servis.Rtarih, Tb_Servis.RSaat, Tb_Servis.SFTuru, Tb_Servis.Syapan, Tb_Musteri.AdiSoyadi, Tb_Mahalle.MAdi, Tb_Servis.Drm " & _
  3. "FROM (Tb_Mahalle INNER JOIN Tb_Musteri ON Tb_Mahalle.Kimlik = Tb_Musteri.Mahalle) INNER JOIN Tb_Servis ON Tb_Musteri.MRefno = Tb_Servis.MRefNo " & _
  4. "WHERE((Tb_Servis.Drm <>'ARIZA GİDERİLDİ') and (Tb_Servis.Rtarih >=date()) and (Tb_Servis.SFTuru = 'Açılış Fişi'))" & _
  5.   "ORDER BY Tb_Servis.Rtarih, Tb_Servis.RSaat, Tb_Mahalle.MAdi"
  6.  
  7. Set rs = db.OpenRecordset(strSQL)





  Alıntı
Bu mesajı beğenenler:
#2
Merhaba..

Bunun için ilgili denetimlerin güncelleme sonrasında listeview'in kaynağındaki sorguda where kısmını seçime göre değiştirip, kaynağı değiştirmek gerekir..

Örneğinizi ekleyebilirseniz daha net önerilerde de bulunabilirim.. Ya da linkteki Adnan beyin örneğiniz inceleyin.. Orada da aynı yapı rapor için kullanılmış..


http://www.access-sql.com/attachment.php?aid=3153



  Alıntı
Bu mesajı beğenenler:
#3
Merhabalar taruz bey

dediğiniz örneği inceledim. Ancak benim istediğim biraz daha farlı 3 adet listbox var. örnek ektedir.

Birde where komutunda AND kullanadığımda bir sıkıntı yok bir OR kullandığımda veri tabanında sorgu kriterinde hepsini getiriyor.


Eklenti Dosyaları
.rar   MServis.rar (Boyut: 112,31 KB / İndirilme: 106)



  Alıntı
Bu mesajı beğenenler:
#4
Merhaba..

Kod sayfanız bu saatte çok karışık geldi.. Wink Ben yerinizde olsam sorguyu vba dışına Access sorgu bölümüne kaydeder o şekilde kullanırdım.. Şartları da orada verebilirsiniz.. Bu sayede daha rahat çözüme ulaşabilirsiniz.. Mahalle kriteri verilmiş bir örnek.. Listeden seçim yoksa tümü, seçim varsa o mahalleye ait kriterler..:

SQL
  1. SELECT Tb_Servis.Rtarih, Tb_Servis.RSaat, Tb_Servis.SFTuru,
  2. Tb_Servis.Syapan, Tb_Musteri.AdiSoyadi, Tb_Mahalle.MAdi, Tb_Servis.Drm, Tb_Mahalle.Kimlik
  3. FROM (Tb_Mahalle
  4. INNER JOIN Tb_Musteri ON Tb_Mahalle.Kimlik=Tb_Musteri.Mahalle)
  5. INNER JOIN Tb_Servis ON Tb_Musteri.MRefno=Tb_Servis.MRefNo
  6.  
  7. WHERE (((Tb_Servis.Drm)<>'ARIZA GİDERİLDİ') AND ((Tb_Mahalle.Kimlik)=nz(Forms!HizliRandevu!Mahliste,[kimlik])))
  8.  
  9. ORDER BY Tb_Servis.Rtarih, Tb_Servis.RSaat, Tb_Mahalle.MAdi;



Prosedür iinde de bu şekilde kullanabiliriz..:

Visual Basic
  1. strSQL = "select * from sorgu_adi"



Çözüme ulaşamazsanız, yarın -vakit bulabilirsem-, örneğiniz üzerinde ben de düzenleme yapmaya çalışırım..



  Alıntı
Bu mesajı beğenenler:
#5
teşekkür ederim.

biraz kodlar karışıklık yaptım düzenlenmesi gerekiyor. SQL kodla yapmak istiyorudum.

şuan sorunumu çözdüm ve yazdığım kodu ekliyorum. Ayrıca sizin kodu denediğimde ise ( eksik hatası veriyordu.

Visual Basic
  1. strSQL = "SELECT Tb_Servis.Rtarih, Tb_Servis.RSaat, Tb_Servis.SFTuru, Tb_Servis.Syapan, Tb_Musteri.AdiSoyadi, Tb_Mahalle.MAdi, Tb_Servis.Drm " & _
  2. "FROM (Tb_Mahalle INNER JOIN Tb_Musteri ON Tb_Mahalle.Kimlik = Tb_Musteri.Mahalle) INNER JOIN Tb_Servis ON Tb_Musteri.MRefno = Tb_Servis.MRefNo " & _
  3. "WHERE Tb_Servis.Drm <>'ARIZA GİDERİLDİ' AND Tb_Servis.Rtarih LIKE '" & [Rtarih] & "'" & _
  4. "AND Tb_Mahalle.MAdi [color=#FF4500]LIKE[/color] '" & Me.Mahadi &[color=#FF0000] "*'"[/color] & _
  5. "AND Tb_Servis.Syapan LIKE '" & spers & "*'"



projem bittiğinde sitede yayınlayacağım.



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  [FORM] Ana Form Ve Alt Formdaki Checkbox'lı Alanlardaki Verileri Buton Ile Null Yapmak. M_Kemal_Askeri 3 58 Dün, 03:57
Son Mesaj: dsezgin
  Sorguda Gruplandırma Sorunu halil.tefci 4 373 14-03-2025, 12:27
Son Mesaj: halily
access-sql-5 çapraz Sorguda Form omur34 5 371 11-03-2025, 09:44
Son Mesaj: omur34
  Access Ile Web Den Veri Almak Ve Güncelleme Yapmak. karamurat42 0 346 08-10-2024, 15:42
Son Mesaj: karamurat42
  Sorguda Birleşim evren89 5 459 30-07-2024, 19:51
Son Mesaj: evren89
  [SORGU] Benzer Veriye Göre Sorgu Oluşturmak toros333 2 566 16-09-2023, 22:38
Son Mesaj: toros333
  [SORGU] Sorguda Iif mart02 7 753 10-09-2023, 14:23
Son Mesaj: halily
  Ilgili Güne Göre Koşullu Sorgu turgay52 6 611 23-08-2023, 11:50
Son Mesaj: turgay52

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi