AccessTr.neT
Çapraz Sorgu Tasarım Moduna Control Ekleme - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Çapraz Sorgu Tasarım Moduna Control Ekleme (/konu-capraz-sorgu-tasarim-moduna-control-ekleme.html)

Sayfalar: 1 2 3 4


Çapraz Sorgu Tasarım Moduna Control Ekleme - feraz - 15/02/2020

Merhaba çapraz sorgu yapmak istedim.

Ekteki  strform içindeki Metin1 içine tarih yazınca ona göre filtrelemek istiyorum.


Resimdeki gibi yaptım olmadı sorgu için.

[Resim: do.php?img=9655]


Cvp: Çapraz Sorgu Tasarım Moduna Control Ekleme - berduş - 15/02/2020

>=clng([formlar].....)
şeklinde yazarak dener mısınız? Tarih türünde veriler için clng(tarih) formatını kullanmanız daha uygun olabilir


Cvp: Çapraz Sorgu Tasarım Moduna Control Ekleme - feraz - 15/02/2020

(15/02/2020, 17:49)berduş yazdı:
>=clng([formlar].....)
şeklinde yazarak dener mısınız? Tarih türünde veriler için clng(tarih) formatını kullanmanız daha uygun olabilir
Hep aynı mesaj Img-grin

[Resim: do.php?img=9656]


Cvp: Çapraz Sorgu Tasarım Moduna Control Ekleme - feraz - 15/02/2020

Şöyle sorayım galiba daha mantıklı.

strFormdaki baslangic ve bitis tarihini girip Rapor oluştur butonuna tıklayınca Tablo1Çapraz sorguformuna veriler nasıl gelir?


Cvp: Çapraz Sorgu Tasarım Moduna Control Ekleme - berduş - 16/02/2020

1. sorunuzdaki soruya çözüm olarak aşağıdaki kodu kullanmayı dener misiniz?
PARAMETERS Formlar![strForm]![Metin1] long;
TRANSFORM Sum(Tablo1.say) AS Toplasay
SELECT Tablo1.adı
FROM Tablo1
WHERE (((Tablo1.tarih)>=Formlar![strForm]![Metin1]))
GROUP BY Tablo1.adı
ORDER BY Tablo1.adı, Tablo1.tarih
PIVOT Tablo1.tarih;
Birden fazla kriter kullanılacaksa
PARAMETERS Formlar![strForm]![Metin1] long, Formlar![strForm]![Metin3] long;
TRANSFORM Sum(Tablo1.say) AS Toplasay
SELECT Tablo1.adı
FROM Tablo1
WHERE (((Tablo1.tarih) between  (Formlar![strForm]![Metin1]) and (Formlar![strForm]![Metin3]) ))
GROUP BY Tablo1.adı
ORDER BY Tablo1.adı, Tablo1.tarih
PIVOT Tablo1.tarih;
çapraz sorgunun formdan kriter alabilmesinin temel mantığı şu ;
sorgunun en başına
PARAMETERS eklenip formdan alacağımız her kriter için tek tek o alanları ve türü tanımlanmalı, her kriter virgülle ayrılıp en sona ";" konmalı 
PARAMETERS Formlar![strForm]![Metin1] long, Formlar![strForm]![Metin3] long;

gerisi bildiğimiz sorguda  where kalıbı

PARAMETERS Formlar![strForm]![Metin1] long, Formlar![strForm]![Metin3] long;
TRANSFORM Sum(Tablo1.say) AS Toplasay
SELECT Tablo1.adı
FROM Tablo1
WHERE (((Tablo1.tarih) between  (Formlar![strForm]![Metin1]) and (Formlar![strForm]![Metin3]) ))
GROUP BY Tablo1.adı
ORDER BY Tablo1.adı, Tablo1.tarih
PIVOT Tablo1.tarih;

2. yöntem olarak eğer doğrudan butona basınca sorgunun kriterli açılması
Dim CaprazSrg As String
CaprazSrg = " TRANSFORM Sum(Tablo1.say) AS Toplasay " & _
              " SELECT Tablo1.adı  " & _
              " FROM Tablo1 " & _
              " where (Tablo1.tarih) between (" & CLng(Me.Metin1) & ") and (" & CLng(Me.Metin3) & ")" & _
              " GROUP BY Tablo1.adı " & _
              " ORDER BY Tablo1.adı, Tablo1.tarih " & _
              " PIVOT Tablo1.tarih"

CurrentDb.QueryDefs("Tablo1_Çapraz").SQL = CaprazSrg
DoCmd.OpenQuery "Tablo1_Çapraz"

aslında parametreleri doğrudan sorgunun tasarım penceresinden de ekleyebilmemiz gerek ama sorun bende midir bilmiyorum ama ben başaramadım
[Resim: do.php?img=9660]

kusura bakmayın unutmuşum
dosyayı da ekledim,


Cvp: Çapraz Sorgu Tasarım Moduna Control Ekleme - alicimri - 16/02/2020

Gelmez, çünkü rapor ve formlar statiktir. İlk oluşturuldukları gibi kalırlar. Yeni veriler eklenince veya sorguda sütun sayılarını değiştiren kriterler ile otomatik  olarak form ve raporda yeni metin kutuları eklenmez veya azalmaz.