Çoklu Kritere Göre Form Filtrede Hata

1 2
15/04/2022, 23:56

tarkanaykın

eyvallah hocam çok teşekkürler, bu kod biraz kafamı karıştırdı da ben sabah yayınladığım, yani çalıştı dediğim kodu tekrer aldım o yine çalıştı , konuyu taşıyabilirsiniz, ilginize çok teşekkürler
16/04/2022, 00:34

berduş

kod oldukça basit aslında kriter olarak kullanmak istediğiniz metin kutularını tek tek tarıyor boş ise atlıyor boş değilse ilgili metin kutusunun değerini ilgili alana atayıp filtreye ekliyor
2. mesajdaki
Me.surecAltForm.Form.Filter = " siniflar.sinifAdi='" & Me.acilan.Column(1) & "' And surec.İslemTarihi Between #" & Format(Me.tarih1, "mm\/dd\/yyyy") & "# And #" & Format(Me.tarih2, "mm\/dd\/yyyy") & "#"
kodunu kabaca aşağıdaki gibi yazıp deneyebilirsiniz
StrFiltre = ""
If Len( Me.acilan.Column(1)  & "") > 0 Then StrFiltre = " and [ siniflar.sinifAdi]=" &  Me.acilan.Column(1)
If Len(Me.tarih1 & "") > 0 Then StrFiltre = StrFiltre & " and [surec.İslemTarihi]>=" & CLng(Me.tarih1)
If Len(Me.tarih2 & "") > 0 Then StrFiltre = StrFiltre & " and [surec.İslemTarihi]<=" & CLng(Me.tarih2)
StrFiltre = Mid(StrFiltre, 6)
Me.surecAltForm.Form.Filter = StrFiltre
Me.surecAltForm.Form.FilterOn = True
16/04/2022, 02:16

berduş

kodu denemeden yazmıştım şimdi deneyince hatalı yazdığım yerleri gördüm
düzenleyip tekrar ekliyorum
StrFiltre = ""
If Len(Me.acilan.Column(1) & "") > 0 Then StrFiltre = " and [siniflar.sinifAdi]='" & Me.acilan.Column(1) & "'"
If Len(Me.tarih1 & "") > 0 Then StrFiltre = StrFiltre & " and [surec.İslemTarihi]>=" & CLng(Me.tarih1)
If Len(Me.tarih2 & "") > 0 Then StrFiltre = StrFiltre & " and [surec.İslemTarihi]<=" & CLng(Me.tarih2)
StrFiltre = Mid(StrFiltre, 6)
Me.surecAltForm.Form.Filter = StrFiltre
Me.surecAltForm.Form.FilterOn = True
1 2