AccessTr.neT

Tam Versiyon: Çoklu Kritere Göre Form Filtrede Hata
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2
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
iyi çalışmalar
(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
Sayfalar: 1 2