3 comboboxtan 1 listboxa ayrı ayrı veri süzme?

1 2
14/11/2016, 11:29

ozanakkaya

Merhaba, liste kutusunun satır kaynağına kod ile sorgu eklenecek. Oluşturulacak GSorgu isimli geçici sorguda WHERE kodunu silerseniz kodun devamı çalışmaz. WHERE'den sonra kriter eklenmesi için 


Me.list_box.RowSource = GSorgu & GKriter

kodu mevcut.

Sıralama eklenmesini istiyorsanız.

GSorgu Kodunu aşağıdaki gibi eski haline getir,

GSorgu = "SELECT yb_tarih, n_tarih, [istek no] FROM Tablo1 WHERE "

Bu kodun hemen altına


GSiralama = " ORDER BY [istek no] DESC;"

kodu ekle,

Me.list_box.RowSource = GSorgu & GKriter

Kodunu da

Me.list_box.RowSource = GSorgu & GKriter & GSiralama

Kodu ile değiştir.

Böylelikle Geçici Sorguda kriter ve sıralamayı sorgu yapısına uygun hale getirmiş olursunuz.

SELECT yb_tarih, n_tarih, [istek no] FROM Tablo1 WHERE ([yb_tarih] = #11/9/2016#)  ORDER BY [istek no] DESC;


Ayrıca, tabloda alan isimlerinde boşluk kullanmamaya gayret ediniz.
14/11/2016, 12:55

prtkl

çok çok teşekkür ederim.
14/11/2016, 21:22

prtkl

kod ile alanları sıralamayı sayenizde öğrenidikten sonra alana ölçüt eklemeyi kendim hallederim sanmıştım ama yine beceremedim
yani [istek no] yu azalan sıralama yaparken diğer yandanda n_tarihin boş olmadığı verileri süzsün diye şu kodları uydurdum ama olmadı . bu konuyla ilgili son isteğim olduğunu umarak yardımlarınızı rica ediyorum tekrar, sağlıcakla kalın...

Kod:
GSiralama = " (n_tarih) Is Not Null ORDER BY [istek no] DESC;"
Kod:
GSorgu = "SELECT yb_tarih, n_tarih, [istek no] FROM Tablo1 WHERE (n_tarih) Is Not Null "
14/11/2016, 22:12

atoz112

sayın prtkl,

bahsettiğiniz talebinize yönelik olarak;

GSorgu satırını

GSorgu = "SELECT yb_tarih, n_tarih, [istek no] FROM Tablo1 WHERE (((Tablo1.n_tarih) Is Not Null)) and "

kod satırı ile değiştirmek sureti ile deneyiniz.

KayitYenile içeriğini

Dim GSorgu As String
Dim GKriter As String
Dim GKriterSayisi As Long
Dim GSiralama As String








If (IsNull(Me.yb_tarih_bul) Or Me.yb_tarih_bul = "") And (IsNull(Me.ntarih_bul) Or Me.ntarih_bul = "") And (IsNull(Me.istekno_bul) Or Me.istekno_bul = "") Then




    Me.list_box.RowSource = "SELECT yb_tarih, n_tarih, [istek no] FROM Tablo1 "
    Exit Sub




Else
    GSorgu = "SELECT yb_tarih, n_tarih, [istek no] FROM Tablo1 WHERE (((Tablo1.n_tarih) Is Not Null)) and "
    GSiralama = " ORDER BY [istek no] DESC;"




End If




If Not IsNull(Me.yb_tarih_bul) Then
    GKriter = GKriter & "([yb_tarih] = #" & Month(yb_tarih_bul) & "/" & Day(yb_tarih_bul) & "/" & Year(yb_tarih_bul) & "#) AND "
End If




If Not IsNull(Me.ntarih_bul) Then
    GKriter = GKriter & "([n_tarih] = #" & Month(ntarih_bul) & "/" & Day(ntarih_bul) & "/" & Year(ntarih_bul) & "#) AND "
End If




If Not IsNull(Me.istekno_bul) Then
    GKriter = GKriter & "([istek no] = '" & Me.istekno_bul & "') AND "
End If








    GKriterSayisi = Len(GKriter) - 4
       
If GKriterSayisi > 1 Then
    GKriter = Left$(GKriter, GKriterSayisi)
    Me.list_box.RowSource = GSorgu & GKriter & GSiralama




End If

kodları ile değiştiriniz.

bilginize...iyi çalışmalar,saygılar.
14/11/2016, 22:33

prtkl

kodu dediğiniz şekilde güncelledim ancak her hangi bir alana değer girince hiç bir şey bulmuyor

düzeltme: afedersiniz eksik yapmışım çalışıyor. çok teşekkürler sizi çok seviyorum
1 2