Skip to main content

AccessTr.neT


Sorguda Zaman Ölçütü Olarak Ne Kullanmalıyım

Oğuz Türkyılmaz
Oğuz Türkyılmaz
23
3778

Sorguda Zaman Ölçütü Olarak Ne Kullanmalıyım

#19
Merhaba, son 3 aylık veride, tarih 26/08/2018'den başlar. 31/08/2018 tarihi 3 aylık veri içerisinde değil mi??
Cevapla
#20
(26/11/2018, 15:39)haliliyas yazdı:
(26/11/2018, 14:13)Oğuz Türkyılmaz yazdı: 31.08.2018 tarihli kaydı görmeye devam ediyorum. bir yeri atlıyorum herhalde ama nereyi.

oğuz bey 31.ağustosu gösterme sebebi sizin sorgunuzda "veya" bağlacının bulunması
sorguya dikkat ederseniz ben her koşulu 2 defa girdim çünkü
sorgu hem kira hem de satılık aradığından her koşulu 2 satır için de girmelisiniz

[Resim: do.php?imgf=154323587773831.jpg]

between dateadd("m",-3,date()) and date()

yerine ise aşağıdaki kodu deneyin
 
Between DateAdd('m';-3;Date()) And Date()
Halil bey merhaba. Aslında ben o detaydaki farkı gördüm ama yapmak istediğimle bağdaştıramadığım için es geçtim, Bu konuyu çözdükten sonraki sorum o olacaktı.nedenine gelirsem .Ben normalde satılık kayıtlarını 3 veya daha fazla ay sonrası için sorgulatabilirim. Ama kiralık olayına gelirsek, kiralık ürünler de en fazla 1 ay bilemediniz 45 gündür kiraya verilme süreci. Bu yüzden eski kayıtlar da en fazla bu kadar geriye gitmek kiralıklar için yeterlidir.Ben satılık kayıtları için 3-4 ay lık bir tarama istiyorum ama kiralık kayıtları için 45 gün. Yani ben Konut tipini satılık seçtiğimdeki sorgunun tarih parametresi 3 yada daha fazla ay olacak ama eğer Konut tipini kiralık seçersem son 45 günlük kayıtlar sogudan çekilecek.
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#21
(26/11/2018, 16:11)ozanakkaya yazdı: Merhaba, son 3 aylık veride, tarih 26/08/2018'den başlar. 31/08/2018 tarihi 3 aylık veri içerisinde değil mi??
Ozan bey gün hesabı olarak yapılmayacak demiştik halil beyle görüşürken ay bazında kriter alacaktı ölçüte yazacağımız ifade. Kasım Ayındaysak Kasım, Ekim ve Eylülü içine alacak.
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#22
oğuz bey bence en mantıklısı sorguda between kodunu kullanmanız 
çalıştıracağınız forma 2 adet tarih kutusu eklersiniz
BasTar      - varsayılan değer date()-45yada 3 ay
BitTar       - varsayılan değer Date()     gibi,
between bu kutulara tanımlanır
açılır kutu olayına da 
eğer satılıksa  3 ay çıkar, kiralıksa 45 gün çıkar diye bilirsiniz
ama en güzel tarafı sorguyu değiştirmeden
BasTar  ve BitTar   değerlerini değiştirerek istediğiniz aralığı girebilmeniz olur
Cevapla
#23
Srg_sonuclar isimli sorgunun Sql kaynağını aşağıdaki ile değiştirerek deneyiniz.

SELECT srg_satici.Adisoyadi, srg_satici.Lokasyon_1, srg_alici.Adisoyadi, srg_alici.Lokasyon_1, srg_satici.kirabedeli AS kiralayaverenbedel, srg_alici.kirabedeli AS kiralayanbedel, srg_satici.SatışBedeli AS satici, srg_alici.SatışBedeli AS alici, srg_satici.MobilNo_1, srg_alici.MobilNo_1, srg_satici.OdaTipi, srg_alici.OdaTipi, srg_satici.esyali, srg_alici.esyali, srg_satici.Siteİcinde, srg_alici.Siteİcinde, srg_alici.EmlakTipi, srg_alici.EmlakKategorisi, srg_satici.IlanNo, srg_satici.kayittarihi, srg_alici.kayittarihi
FROM srg_satici INNER JOIN srg_alici ON (srg_satici.EmlakKategorisi = srg_alici.EmlakKategorisi) AND (srg_satici.EmlakTipi = srg_alici.EmlakTipi)
WHERE (((srg_alici.Adisoyadi)<>srg_satici!Adisoyadi) And ((srg_satici.kirabedeli)<=srg_alici.kirabedeli*1.15 And (srg_satici.kirabedeli)>=srg_alici.kirabedeli*0.75) And ((srg_alici.EmlakTipi)=Formlar!F_200_PortfoyEslestirme!cboEmlakTipi) And ((srg_alici.EmlakKategorisi)=Formlar!F_200_PortfoyEslestirme!cboEmlakKategorisi) And ((srg_satici.kayittarihi) Between DateAdd("m",-2,Date()) And Date()) And ((srg_alici.kayittarihi) Between DateAdd("m",-2,Date()) And Date())) Or (((srg_alici.Adisoyadi)<>srg_satici!Adisoyadi) And ((srg_satici.SatışBedeli)<=srg_alici.SatışBedeli*1.15 And (srg_satici.SatışBedeli)>=srg_alici.SatışBedeli*0.75) And ((srg_alici.EmlakTipi)=Formlar!F_200_PortfoyEslestirme!cboEmlakTipi) And ((srg_alici.EmlakKategorisi)=Formlar!F_200_PortfoyEslestirme!cboEmlakKategorisi) And ((srg_satici.kayittarihi) Between DateAdd("m",-2,Date()) And Date()) And ((srg_alici.kayittarihi) Between DateAdd("m",-2,Date()) And Date()));

26/11/2018 tarihinde 26/09/2018 sonrasındaki kayıtları verir.
Cevapla
#24
(26/11/2018, 17:00)ozanakkaya yazdı: Srg_sonuclar isimli sorgunun Sql kaynağını aşağıdaki ile değiştirerek deneyiniz.

SELECT srg_satici.Adisoyadi, srg_satici.Lokasyon_1, srg_alici.Adisoyadi, srg_alici.Lokasyon_1, srg_satici.kirabedeli AS kiralayaverenbedel, srg_alici.kirabedeli AS kiralayanbedel, srg_satici.SatışBedeli AS satici, srg_alici.SatışBedeli AS alici, srg_satici.MobilNo_1, srg_alici.MobilNo_1, srg_satici.OdaTipi, srg_alici.OdaTipi, srg_satici.esyali, srg_alici.esyali, srg_satici.Siteİcinde, srg_alici.Siteİcinde, srg_alici.EmlakTipi, srg_alici.EmlakKategorisi, srg_satici.IlanNo, srg_satici.kayittarihi, srg_alici.kayittarihi
FROM srg_satici INNER JOIN srg_alici ON (srg_satici.EmlakKategorisi = srg_alici.EmlakKategorisi) AND (srg_satici.EmlakTipi = srg_alici.EmlakTipi)
WHERE (((srg_alici.Adisoyadi)<>srg_satici!Adisoyadi) And ((srg_satici.kirabedeli)<=srg_alici.kirabedeli*1.15 And (srg_satici.kirabedeli)>=srg_alici.kirabedeli*0.75) And ((srg_alici.EmlakTipi)=Formlar!F_200_PortfoyEslestirme!cboEmlakTipi) And ((srg_alici.EmlakKategorisi)=Formlar!F_200_PortfoyEslestirme!cboEmlakKategorisi) And ((srg_satici.kayittarihi) Between DateAdd("m",-2,Date()) And Date()) And ((srg_alici.kayittarihi) Between DateAdd("m",-2,Date()) And Date())) Or (((srg_alici.Adisoyadi)<>srg_satici!Adisoyadi) And ((srg_satici.SatışBedeli)<=srg_alici.SatışBedeli*1.15 And (srg_satici.SatışBedeli)>=srg_alici.SatışBedeli*0.75) And ((srg_alici.EmlakTipi)=Formlar!F_200_PortfoyEslestirme!cboEmlakTipi) And ((srg_alici.EmlakKategorisi)=Formlar!F_200_PortfoyEslestirme!cboEmlakKategorisi) And ((srg_satici.kayittarihi) Between DateAdd("m",-2,Date()) And Date()) And ((srg_alici.kayittarihi) Between DateAdd("m",-2,Date()) And Date()));

26/11/2018 tarihinde 26/09/2018 sonrasındaki kayıtları verir.

Ozan bey teşekkür ederim. Forma başlangıç ve bitiş tarihleri ile sorguyada bu parametreleri ekledim. ( Sn.Mehmet Demiral'ın bir uygulamasından öğrendim )  Konuyu fazla uzatmayayım , artık kullanıcıya seçtireceğim tarihleri fazladan iki tarih giriversinler.
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task