Konu Araçları | Konu Seçenekleri | Gösterim Stili
Tarih
14/05/2009 12:28
Konu Sahibi
firdevs
Yorumlar
14
Okunma
6116
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
firdevs

firdevs

Aktif Üye
3528
 Belirtilmemiş
 34
 296
 22/02/2009
46
 İzmir
 
 Ofis 2003
 12/05/2014,23:39
Çözüldü 
Sayın hocalarım
Örnekteki deneme formunda, ilk tarih ve son tarih alanları var.
iki tarih sorgusunda

Between [Formlar]![deneme]![ilktarih] And [Formlar]![deneme]![sontarih]

Ölçüt yazılı güzel, çalışıyor
Ama ben istiyorum ki;
bo alanlar boş olduğunda liistenin tamamını göstersin
Ve ilk tarih dolu olduğunda o tarihten sonrasını
Ve son tarih dolu olduğunda da o tarihten öncesini göstersin.

IIf(([Tbl_FisKaydi].[Fis_Tarihi])=(IsNull([Formlar]![deneme]![ilktarih])) And ([Tbl_FisKaydi].[Fis_Tarihi])=(IsNull([Formlar]![deneme]![sontarih]));([Tbl_FisKaydi]![Fis_Tarihi]);(([Tbl_FisKaydi].[Fis_Tarihi]) Between [Formlar]![deneme]![ilktarih] And [Formlar]![deneme]![sontarih]))

bu ölçütü yazdım. Ama
IIf(ilk tarih dolu son tarih boş ise ; ilk tarihten sonrasını; IIf(son tarih dolu , ilk tarih boş ise ;son tarihden öncesini;IIf(her ikiside boş ise;tüm listeyi; değil ise ikitarih arasını göster)))
demek istiyorum. Öncesi sonrası IIF leri bilemedim.Icon_rolleyes
Hoş bu ölçütte alanlar boş olduğunda listenin tamamını göstermiyor.
Yanlışım nerede ?
İlk trarihden sonrasını
son tarihden öncesini
nasıl ifare edebilirim?
İlgilenebilirseniz çok sevinirim.

(Örneği eklayamadim.Açılır pencere engellendi diyor ayarlarında kapalı değil ama açılır pencereye izin vermedi.)
Çok basit bir örnekti sanırım sorunumu anlatabildim.



Filtrelemede Ölçüt
Like"*"&[metin kutusu]&"*"

okileturc

okileturc

Onursal Üye
4499
Ok.... VA....
 61
 113
 966
 18/03/2009
464
 İzmir
 
 Ofis 2003
 11/12/2018,23:03
Çözüldü 
Ben örneğinize çok fazla girmeden yöntem
tavsiye etmek istiyorum. Uygulamalarımızın bir çok
yerinde ( form, rapor, sorgu ) tarih aralığına ihtiyacımız
oluyor. Ben varsayılan ilk tarihi kullanıcının ayarlardan
girmesi yöntemini kullanıyorum

[Resim: ekranresmi00011.jpg]

varsayılan son tarih için ise Bugün + kaç yıl tercihini belirtmesini
istiyorum

Artık tarih aralığı gerektiren alanlara bu iki değeri varsayılan olarak
getiriyorum

Diğer bir yöntem ise görüntülenecek kayıtların tablosundan DMin ile ilk
tarih değerini DMax ile son tarih değerini getirmek gayet pratik

Tarih alanlarının boş ya da Null olması çok sağlıklı değil
diye düşünüyorum. Form üzerindeki bu denetimlerin "dolu"
olmasını koşullamanız ve yukarıdikelere benzer bir yöntem kullanmanız
daha iyi olabilir

Kolay gelsin


okileturc, 18-03-2009 tarihinden beri AccessTr.neT üyesidir.

...........
firdevs

firdevs

Aktif Üye
3528
 Belirtilmemiş
 34
 296
 22/02/2009
46
 İzmir
 
 Ofis 2003
 12/05/2014,23:39
Çözüldü 
Hocam İlgilendiğiniz için teşekkür ederim. Başta oldukça acemi olduğumu söylemek isterim.
Sizin bahsettiğiniz resimde gösterdiğiniz ayarların yerini bile bulamadım.
Varsayılan nereden ayarlanıyor?
Ayrıca bu tarih değişken olmalı , istediğim zaman geçen yılın istediğim zaman geçen ayın verilerini almalıyım.
Sonrada bunların toplamlarıı alarak karşılaştırmalarını yapmalıyım.
Form üzerinden tarih girerek yapmak daha uygun geliyor ancak sizin tavsiyenizi de öğrenmek isterim belki burada belki de başka yerde işime yarar.
Tekrar ilgilenirseniz sevinirim.


Filtrelemede Ölçüt
Like"*"&[metin kutusu]&"*"

okileturc

okileturc

Onursal Üye
4499
Ok.... VA....
 61
 113
 966
 18/03/2009
464
 İzmir
 
 Ofis 2003
 11/12/2018,23:03
Çözüldü 
Özür dilerim, elbette ben yanlış ya da eksik anlatmış olabilrim
Benim bahsettiğim varsayılan tarih bilgilerinin yazılımcı
tarafından oluşturulacak bir tablo üzerinde tutulmasına yönelikti.
Access te böyle bir ayar maalesef yok.

Şöyle yapalım, siz örneğinizi ekleyin onun üzerinde yardımcı olmaya çalışalım
( Ben karmaşık yapılı bir IIF sorusuyla karşılaşınca benzer düzeyde çözümlere yöneldim )


Kolay gelsin



okileturc, 18-03-2009 tarihinden beri AccessTr.neT üyesidir.

...........
firdevs

firdevs

Aktif Üye
3528
 Belirtilmemiş
 34
 296
 22/02/2009
46
 İzmir
 
 Ofis 2003
 12/05/2014,23:39
Çözüldü 
Hocam Allah'a şükür IIF lı sorguları kavradım. Ama çok yeniyim.
Başka bilgisayara geçtim ve örneği gönderiyorum.
Hocam
>[Formlar]![deneme]![ilktarih]
yazdığım hatlı bir ölçüt mü?
Çalışıyor ama sonuç yok
İlk tarih kutusuna girdiğim tarihden büyüğünü yada
soh tarihe girdiğim tarihden küçüğünü sorgulamak istersem nasıl ifade etmeliyim?


Filtrelemede Ölçüt
Like"*"&[metin kutusu]&"*"

okileturc

okileturc

Onursal Üye
4499
Ok.... VA....
 61
 113
 966
 18/03/2009
464
 İzmir
 
 Ofis 2003
 11/12/2018,23:03
Çözüldü 
O zaman Between kullanmayın sorgu kriterine
>Forms!Formadi!ILKTARIH And <Forms!Formadi!SONTARIH
yazın
ayni formülü
>=Forms!Formadi!ILKTARIH And <=Forms!Formadi!SONTARIH
şekinde yazarsanız zaten between ile ayni işi yapar
Kolay gelsin
Formunuzdaki IIF butonuna
aşağıdaki kontrolü koydum

Kod:
1
2
3
4
5
6
7
8
9
10
Private Sub ııf_Click()
If Len(ilktarih) > 0 And Len(sontarih) > 0 Then
    DoCmd.OpenQuery "ikitarih", acNormal, acEdit
    Exit Sub
Else
   Forms!deneme!ilktarih = DMin("[Fis_Tarihi]", "Tbl_FisKaydi")
   Forms!deneme!sontarih = DMax("[Fis_Tarihi]", "Tbl_FisKaydi")
   MsgBox "Tekrar deneyin"
End If
End Sub

Yani tarihlerden biri boşsa tablodan en küçük ve en büyük
değerleri getirecek
tarih alanlarının varsayıllan değerlerine de ayni işlemi yaptım
sorgunuza da > And < kodunu yazdım
bir inceleyin
Kolay gelsin


okileturc, 18-03-2009 tarihinden beri AccessTr.neT üyesidir.

...........

Konuyu Okuyanlar: 1 Ziyaretçi

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Çözüldü İki Tarih Arası Sorgulma Sorunu HORZUM 4 320 05/07/2019, 19:25
Son Yorum: halily
Çözüldü İki Tarih Ve İki Saat Arası Sorgu Formülü furens 5 252 18/06/2019, 15:28
Son Yorum: furens
Çözüldü Sorguda Tüm Kayıtlar Çıkmıyor sambay 6 258 04/06/2019, 23:21
Son Yorum: sambay
Çözüldü Formlar Arası İlişki metınaycıcek 2 177 03/06/2019, 00:32
Son Yorum: metınaycıcek
Çözüldü Excel Kitaplar Arası Geçişte Problem ertus35 20 606 11/05/2019, 02:36
Son Yorum: ertus35

Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2019 MyBB Group.