Çapraz Sorgudaki Tüm Sütunları Raporda Gösterme

1 2
28/03/2016, 09:48

kadirdursun

Çok teşekkür ediyorum.

İstediğim aya ait değeri raporlamak için ne yapabilirim?
Örnekte form1 üstünden yılay değerini seçince C1 sorgusu çalışıyor fakat Rapor hata veriyor.
Hayırlı sabahlar
29/03/2016, 09:40

ozanakkaya

(25/03/2016, 08:53)kadirdursun yazdı: Oysa ben veri olmasa bile tüm aya ait günlerin gelmesini istiyorum. Çünkü bunu rapor yapacağım. Çapraz sorgudan rapor yapmak biraz sıkıntılı diye biliyorum.

c1 isimli sorgunun Sql kodunu aşağıdaki ile değiştir.


PARAMETERS [Forms]![Form1]![YIL_AY] Text ( 255 );

TRANSFORM Sum(T_GUNLER.MESAISAATTOPLAMI) AS ToplaMESAISAATTOPLAMI
SELECT T_GUNLER.ADI, Sum(T_GUNLER.MESAISAATTOPLAMI) AS Toplam
FROM T_GUNLER
WHERE (((Format([TARIH],"yyyy mm"))=[Forms]![Form1]![YIL_AY]))
GROUP BY T_GUNLER.ADI
PIVOT Format([TARIH],"dd") In (01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31);

Raporun kayıt kaynağını "C1" olarak değiştir.

Raporun Vba sayfasındaki tüm kodları sil.

Metin kutularının isimlerini mtn_1, mtn_2, mtn_3,......  mtn_31 şeklinde değiştir ve denetim kaynaklarını 01,02,03....31 olacak şekilde değiştir.

Bu şekilde ayın gününe ait veri olmasa bile raporda sadece dolu olanlara ait veri gözükecektir.
29/03/2016, 10:26

kadirdursun

Dediğiniz gibi C1 kodunu değiştirdim, rapordaki kodlarıda sildim. Metin kutularının isimlerinide kaynaklarınıda değiştirdim. Elinizie sağlık.

Bir sorun çıktı. 1-9 arasındaki günlerde hata veriyor. Örneği ekledim.
29/03/2016, 10:36

ozanakkaya

Sorguda dolu sütun 1 ise in kodunda 1, dolu sütun 01 ise in kodunda 01 yazmalı.
29/03/2016, 11:16

kadirdursun

Sorguda aşağıdaki kodu kopyala yapıştır yapıyorum. Sorguyu çalışıtırınca 1-9 arası değerler geliyor. Kaydet kapat yapınca tekrar sorguyu çalıştırıyorum bu sefer 1-9 arası değer gelmediği gibi Sql ifadesindede 01,02.... yerine 1,2... yazılı hale gelmiş oluyor.


PARAMETERS [Forms]![Form1]![YIL_AY] Text ( 255 );

TRANSFORM Sum(T_GUNLER.MESAISAATTOPLAMI) AS ToplaMESAISAATTOPLAMI
SELECT T_GUNLER.ADI, Sum(T_GUNLER.MESAISAATTOPLAMI) AS Toplam
FROM T_GUNLER
WHERE (((Format([TARIH],"yyyy mm"))=[Forms]![Form1]![YIL_AY]))
GROUP BY T_GUNLER.ADI
PIVOT Format([TARIH],"dd") In (01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31);

29/03/2016, 11:19

kadirdursun

Sql kodun 8. satırında bulunan 
PIVOT Format([TARIH],"dd")
ifadesindeki "dd" yerine "d" yazınca düzeldi.


Teşekkür ediyorum.
1 2