Tüm arkadaşlara iyi akşamlar. Ekteki vt.de bulunan form üzerinde liste kutusunda iki tarih aralığını çapraz soguyla between komutunu kullanarak seçme sorgusunda sonuç alıyorum. Fakat çapraz sorguda hata veriyor. Birde between komutunu like komutuyla kullanabilirmiyiz. Saygılarımla iyi çalışmalar.
Çapraz sorguda Between Like komutu
Merhaba,
örnek uygulamanızdaki liste kutusunun satır kaynağındaki sorgu çalışmadığı için yenilendi. Sorgu sonucu doğru mu bilmiyorum.
Modüle aşağıdaki kodu ekleyiniz
Liste kutusunun satır kaynağındaki sorguyu
kodu ile değiştiriniz.
Diğer sorunuz olan between ile like komutunu nasıl kullanmak istediğinizi anlamadığım için yorum yazamadım.
örnek uygulamanızdaki liste kutusunun satır kaynağındaki sorgu çalışmadığı için yenilendi. Sorgu sonucu doğru mu bilmiyorum.
Modüle aşağıdaki kodu ekleyiniz
Kod:
Public Function GeciciIlkTarih()
If IsNull([Forms]![Form1]![ilk]) Then
GeciciIlkTarih = "01/01/2015"
Else
GeciciIlkTarih = [Forms]![Form1]![ilk]
End If
End Function
Public Function GeciciSonTarih()
If IsNull([Forms]![Form1]![son]) Then
GeciciSonTarih = Date
Else
GeciciSonTarih = [Forms]![Form1]![son]
End If
End Function
Liste kutusunun satır kaynağındaki sorguyu
Kod:
TRANSFORM Count(tbl_kayit.t_sırano) AS Sayt_sırano
SELECT tbl_kayit.t_tarih, Var(tbl_kayit.t_sırano) AS [Toplam t_sırano]
FROM tbl_kayit
WHERE (((tbl_kayit.t_tarih) Between GeciciIlkTarih() And GeciciSonTarih()))
GROUP BY tbl_kayit.t_tarih
PIVOT tbl_kayit.t_ilce;
Diğer sorunuz olan between ile like komutunu nasıl kullanmak istediğinizi anlamadığım için yorum yazamadım.
Merhaba;
Sayın ozanakkaya ile aynı anda yazmaya başladık sanırım. Cevap yazarken mesajı yoktu.
T_Katılımcı tablosu olmadığından çapraz sorguyu çalıştıramadım.
Srg_Capraz sorgusunu tasarım görünümünde açın
Parametreler kısmına girin
Parametre bölümüne Between [forms]![FRM_CAPRAZ]![ilktarih] And [forms]![FRM_CAPRAZ]![sontarih] kopyala yapıştır yapın
veri türünü tarih/saat seçin
kaydet kapat
Böyle deneyince hata veriyor mu?
Sayın ozanakkaya ile aynı anda yazmaya başladık sanırım. Cevap yazarken mesajı yoktu.
T_Katılımcı tablosu olmadığından çapraz sorguyu çalıştıramadım.
Srg_Capraz sorgusunu tasarım görünümünde açın
Parametreler kısmına girin
Parametre bölümüne Between [forms]![FRM_CAPRAZ]![ilktarih] And [forms]![FRM_CAPRAZ]![sontarih] kopyala yapıştır yapın
veri türünü tarih/saat seçin
kaydet kapat
Böyle deneyince hata veriyor mu?
Hayat bu
ölsende yaşamaya mecbursun!
UNUTMA!!!
(hafta sonu mesai olmadığından mesajlardaki çözümleri ancak hafta içi uygulayabiliyorum)
ölsende yaşamaya mecbursun!
UNUTMA!!!
(hafta sonu mesai olmadığından mesajlardaki çözümleri ancak hafta içi uygulayabiliyorum)
Son Düzenleme: 11/01/2017, 10:47, Düzenleyen: kadirdursun.
sayın orderyazbim,
ifadenize yönelik olarak;
alternatif bir kullanım olması amacı ile iki yöntem ile de elde edebilirsiniz.
YÖNTEM 1
form üzerindeki listenin kaynağında yer alan sorguyu,yukarıdaki kodlar ile kullanarak deneyiniz.
YÖNTEM 2
form üzerindeki listenin kaynağında yer alan sorguyu,yukarıdaki kodlar ile kullanarak deneyiniz.
ifadenize yönelik olarak;
sadece bilgilendirme olması amacı ile,
LIKE komutunun tarih değerlerine dair kullanılmasının bir anlamı yok,bana göre.çünkü,zaten direkt tarih değerini yazıp bu tarihe göre kontrol işlemi uygulanacaktır.
bu komutu,daha çok;Metin denetimi arama işlemleri için Kriter niyetine kullanmak daha yerinde olacaktır.
bilginize...iyi çalışmalar,saygılar.
Alıntı:form üzerinde liste kutusunda iki tarih aralığını çapraz soguyla between komutunu kullanarak seçme sorgusunda sonuç alıyorum. Fakat çapraz sorguda hata veriyor.
ifadenize yönelik olarak;
alternatif bir kullanım olması amacı ile iki yöntem ile de elde edebilirsiniz.
YÖNTEM 1
Kod:
PARAMETERS [Forms]![Form1]![ilk] DateTime, [Forms]![Form1]![son] DateTime;
TRANSFORM Count(tbl_kayit.t_sırano) AS Sayt_sırano
SELECT tbl_kayit.[t_tarih], Count(tbl_kayit.t_sırano) AS [Toplam t_sırano]
FROM tbl_kayit
WHERE (tbl_kayit.[t_tarih] Between [Forms]![Form1]![ilk] And [Forms]![Form1]![son])
GROUP BY tbl_kayit.[t_tarih]
PIVOT tbl_kayit.t_ilce;
YÖNTEM 2
Kod:
PARAMETERS [Forms]![Form1]![ilk] DateTime, [Forms]![Form1]![son] DateTime;
TRANSFORM Count(tbl_kayit.t_sırano) AS Sayt_sırano
SELECT tbl_kayit.t_tarih, Count(tbl_kayit.t_sırano) AS [Toplam t_sırano]
FROM tbl_kayit
WHERE (((tbl_kayit.t_tarih)>=[Forms]![Form1]![ilk] And (tbl_kayit.t_tarih)<=[Forms]![Form1]![son]))
GROUP BY tbl_kayit.t_tarih
PIVOT tbl_kayit.t_ilce;
Alıntı:Birde between komutunu like komutuyla kullanabilirmiyiz.
ifadenize yönelik olarak;
sadece bilgilendirme olması amacı ile,
LIKE komutunun tarih değerlerine dair kullanılmasının bir anlamı yok,bana göre.çünkü,zaten direkt tarih değerini yazıp bu tarihe göre kontrol işlemi uygulanacaktır.
bu komutu,daha çok;Metin denetimi arama işlemleri için Kriter niyetine kullanmak daha yerinde olacaktır.
bilginize...iyi çalışmalar,saygılar.
(12/01/2017, 14:31)atoz112 yazdı: sayın orderyazbim,Sayın atoz112 vermiş olduğunuz örneği uyguladım ve çalıştı. yardımınız için teşekkür eder saygılarımı sunarım.
Alıntı:form üzerinde liste kutusunda iki tarih aralığını çapraz soguyla between komutunu kullanarak seçme sorgusunda sonuç alıyorum. Fakat çapraz sorguda hata veriyor.
ifadenize yönelik olarak;
alternatif bir kullanım olması amacı ile iki yöntem ile de elde edebilirsiniz.
YÖNTEM 1
form üzerindeki listenin kaynağında yer alan sorguyu,yukarıdaki kodlar ile kullanarak deneyiniz.Kod:PARAMETERS [Forms]![Form1]![ilk] DateTime, [Forms]![Form1]![son] DateTime;
TRANSFORM Count(tbl_kayit.t_sırano) AS Sayt_sırano
SELECT tbl_kayit.[t_tarih], Count(tbl_kayit.t_sırano) AS [Toplam t_sırano]
FROM tbl_kayit
WHERE (tbl_kayit.[t_tarih] Between [Forms]![Form1]![ilk] And [Forms]![Form1]![son])
GROUP BY tbl_kayit.[t_tarih]
PIVOT tbl_kayit.t_ilce;
YÖNTEM 2
form üzerindeki listenin kaynağında yer alan sorguyu,yukarıdaki kodlar ile kullanarak deneyiniz.Kod:PARAMETERS [Forms]![Form1]![ilk] DateTime, [Forms]![Form1]![son] DateTime;
TRANSFORM Count(tbl_kayit.t_sırano) AS Sayt_sırano
SELECT tbl_kayit.t_tarih, Count(tbl_kayit.t_sırano) AS [Toplam t_sırano]
FROM tbl_kayit
WHERE (((tbl_kayit.t_tarih)>=[Forms]![Form1]![ilk] And (tbl_kayit.t_tarih)<=[Forms]![Form1]![son]))
GROUP BY tbl_kayit.t_tarih
PIVOT tbl_kayit.t_ilce;
Alıntı:Birde between komutunu like komutuyla kullanabilirmiyiz.
ifadenize yönelik olarak;
sadece bilgilendirme olması amacı ile,
LIKE komutunun tarih değerlerine dair kullanılmasının bir anlamı yok,bana göre.çünkü,zaten direkt tarih değerini yazıp bu tarihe göre kontrol işlemi uygulanacaktır.
bu komutu,daha çok;Metin denetimi arama işlemleri için Kriter niyetine kullanmak daha yerinde olacaktır.
bilginize...iyi çalışmalar,saygılar.
Konuyu Okuyanlar: 1 Ziyaretçi