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ılacaksaPARAMETERS 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
kusura bakmayın unutmuşum
dosyayı da ekledim,