merhaba arkadaşlar, iki kritere göre filtre yapıyorum; and ile birleştiriyorum tür uyuşmazlığı hatası veriyor, ayrı ayrı sırayla yapıyorum bu defa da "ve " bağlamında olmuyor hangisi işine geliyorsa onu filtreliyor, oysa ben iki kritere göre form filtresi uygulamak istiyorum bi yardımcı olabilir misiniz?
Me.surecAltForm.Form.Filter = " siniflar.sinifAdi='" & Me.acilan.Column(1) & "'" And Me.surecAltForm.Form.Filter = "surec.İslemTarihi Between #" & Format(Me.tarih1, "mm\/dd\/yyyy") & "# And #" & Format(Me.tarih2, "mm\/dd\/yyyy") & "#"
bu şekilde yapınca tür uyşmazlığı hatası veriyor, aradaki And i kaldırıyorum bu defa da iki kriterli olmuyor
not: "filtre adlı butondaki olaylar"
siz 2 defa form filter olayını kullanmışsınız oysa 1 defa kullanılmalı gerisi normal sorgu kodu olmalı
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") & "#"
çok teşekkür ederim sayın berduş, ben de bu arada boş durmadım araştırmalara devam ederek nerde hata yaptığımı buldum, çok teşekkür ederim sağolun var olun. bendeki hata , And ile birleştirdim ama "&" And "&" ile birleştirmeliymişim.
If Not IsNull(Me.acilan) And Not IsNull(Me.tarih2) Then
Dim a As String
a = "siniflar.sinifAdi='" & Me.acilan.Column(1) & "'" & " And " & "surec.islemTarihi Between #" & Format(Me.tarih1, "mm\/dd\/yyyy") & "# And #" & Format(Me.tarih2, "mm\/dd\/yyyy") & "#"
Me.surecAltForm.Form.Filter = a
Me.surecAltForm.Form.FilterOn = True
Else
End If
(15/04/2022, 14:22)berduş yazdı: iyi çalışmalar
ya sayın hocalarım, sabah çalışan kodum şimdi tür uyuşmazlığı hatası veriyor, bir de böyle aralara and koymak opsiyonel yapar mı değişkenleri, yani ben istediğim alanı seçip filtreleyeyim, seçim bana bağlı olsun, araya da and koydum ama bilemedim,
If Not IsNull(Me.acilan) Or Not IsNull(Me.tarih1) Or Not IsNull(Me.tarih2) Or Not IsNull(Me.acilanIsinTuru) Or Not IsNull(Me.depo) Or Not IsNull(Me.acilanFirmaNo) Then
Dim a As String
a = "siniflar.sinifAdi='" & Me.acilan.Column(1) & "' & " And " & surec.islemTarihi Between #" & Format(Me.tarih1, "mm\/dd\/yyyy") & "#" And "#" & Format(Me.tarih2, "mm\/dd\/yyyy") & "# & " And " & isinTuru.isinTuru='" & Me.acilanIsinTuru.Column(1) & "' & " And " & depo.depo='" & Me.depo & "'"
Me.surecAltForm.Form.Filter = a
Me.surecAltForm.Form.FilterOn = True
Else
End If
temel mantık aşağıdaki gibi olursa sorun olmaz bence siz kendi metin kutularınızı ve alan adlarınızı kullanmalısınız
StrFiltre = ""
If Len(Me.Metin10 & "") > 0 Then StrFiltre = " and [BasTrh]>=" & CLng(Me.Metin10)
If Len(Me.Metin12 & "") > 0 Then StrFiltre = StrFiltre & " and [BasTrh]<=" & CLng(Me.Metin12)
StrFiltre = Mid(StrFiltre, 6)
Me.surecAltForm.Form.Filter = StrFiltre
Me.surecAltForm.Form.FilterOn = True = True