AccessTr.neT

Tam Versiyon: Formda Filtreleme
Ş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
iyi geceler

ekte ki çalışmamda form üzerinde filtreleme yapmaktayım. Bit_Tarihi güncelleme sonrası olayına Me.Filter = "[Giris_Tarihi] <= #" & Month(Me.Bit_Tarihi) & "/" & Day(Me.Bit_Tarihi) & "/" & Year(Me.Bit_Tarihi) & "# and [Cikis_Tarihi] >=#" & Month(Me.Bas_Tarihi) & "/" & Day(Me.Bas_Tarihi) & "/" & Year(Me.Bas_Tarihi)"# or [Cikis_Tarihi] ="")
Me.FilterOn = True

diye kod girdim.

yapmak istediğim şu Giris_Tarihi Bit_Tarihinden küçük veya eşitse Cikis_Tarihi Bas_Tarihinden büyük veya eşit veya boş sa diye koşullu filtremeye yapmaya çalışıyorum

yardımlarınız tesekkurler
iyi geceler,
bu gibi koşullu durumlarda iif karşılaştırma komutunu kullanabilirsiniz, ya da if ... then... else veyahut da select case ... end select gibi komutlarıda kullanabilirsiniz.
durumunuza şu anda en uygunu iç içe IIF komutunu kullanmaktır. IIF komutunun söz dizimi aşağıdaki gibidir.
Kod:
iif ("ifade";"ifade doğru olduğunda yapılacak eylem";"ifade yanlış olduğunda yapılacak eylem")
şeklindedir. Buna göre
Kod:
= iif([Giriş Tarihi]>=[Bitiş Tarihi];"Yapılacak Eylem";"Yapılacak Eylem")
= iif([Giriş Tarihi]>=[Bitiş Tarihi];iif([Çıkış Tarihi]>=[Başlama Tarihi];Yapılacak Eylem");"Yapılacak Eylem")
Hocam Me.Filter = "IIf([Giris_Tarihi] <= #" & [Bit_Tarihi] & "# and IIf([Cikis_Tarihi] >=#" & [Bas_Tarihi] & "#"
şöyle denedim ama yapamadım siz bana uygulamalı olarak gösterir misiniz.
Merhaba,
Yapmak istediğinizi biraz daha netleştirelim.
Öncelikle şartımız nedir? şartımız birden fazla mıdır?
Şartlarımızı ayrı ayrı bir yazalım, Daha sonra Örneğin, 1.Şartımız doğru olduğunda Ne olacak?, Yanlış olduğunda ne olacak?
Aynı şekilde 2. Şartımız doğru olduğunda ne olacak?, Yanlış olduğunda ne olacak?, 2 şartımızın da doğru olmadığında ne olacak?
Yukarıda vermiş olduğunuz ifade eksik kalmış? Bu şekilde metinsel olarak yazarsanız ifademizi oluşturup daha hızlı sonuca ulaşabiliriz.
Me.Filter = "[Giris_Tarihi] <= #" & Month(Me.Bit_Tarihi) & "/" & Day(Me.Bit_Tarihi) & "/" & Year(Me.Bit_Tarihi) & "# and [Cikis_Tarihi] >="" #" & Month(Me.Bas_Tarihi) & "/" & Day(Me.Bas_Tarihi) & "/" & Year(Me.Bas_Tarihi) & "#"
Me.FilterOn = True

hocam tam yapmak istediğim bu aslında yani çıkış tarihi bas_tarihinden büyüktür ya da eşitse ya da içi boşsa diye yapmak istiyorum
Kod:
=IIf([çıkıştarihiTarihi]>=[başlamatarihi];IIf(IsNull([başlamatarihi];IIf(IsNull([çıkıştarihi]);.......)))
Sayfalar: 1 2