Skip to main content

AccessTr.neT


Çapraz sorguda Between Like komutu

Çapraz sorguda Between Like komutu

#1
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.
.rar Örnek.rar (Dosya Boyutu: 4,3 MB | İndirme Sayısı: 10)
Cevapla
#2
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

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;
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.
"Boş Örnek Eklerim, Yapıp Verirler" demeyin, örneğinizi hazırlayın.
Komplike kod talebiniz var ise İletişim bağlantısından bize ulaşın. 
Cebelleşmezsen Öğrenemezsin. 
Cevapla
#3
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?

[Resim: do.php?imgf=148412076108291.jpg]
Hayat bu
ö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.
Cevapla
#4
sayın orderyazbim,

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;

form üzerindeki listenin kaynağında yer alan sorguyu,yukarıdaki kodlar ile kullanarak deneyiniz.

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;

form üzerindeki listenin kaynağında yer alan sorguyu,yukarıdaki kodlar ile kullanarak deneyiniz.

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.
Herkes,kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#5
(12/01/2017 14:31)atoz112 Adlı Kullanıcıdan Alıntı: sayın orderyazbim,

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;

form üzerindeki listenin kaynağında yer alan sorguyu,yukarıdaki kodlar ile kullanarak deneyiniz.

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;

form üzerindeki listenin kaynağında yer alan sorguyu,yukarıdaki kodlar ile kullanarak deneyiniz.

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.
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.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task