Tablonuzda verisi olmadığı halde hesaplama yaparak yeni verileri raporunuzda gösterebilirsiniz. Bu örneğimizde Tarih alanındaki verilerden Ay isimleri çıkarmak istiyorum. Ay isimlerini bulduktan sonra da gruplayarak verilerin toplamını görmek istiyorum. Bu sebeple tarihten verileri alarak Ay Bazlı Rapor oluşturacağız.
Önce istediğimiz Rapor için bir sorgu oluşturalım.
Rapor için Ay bazlı Gruplanmış Rapor Oluşturma
Oluştur – Sorgu Tasarımı seçip URUN LISTESI alanını seçiyorum.
İlk kolonunuz Ayları belirleyeceğimiz Tarih alanı 2 defa ekliyoruz. Birisi Tarihin sayısal hali. Bu alan ile sıralama yapacağız, diğer alanda ise Ayın Metinsel halini listeleyeceğiz. Diğer alanlar ise gruplama diğer bir ifade ile hesaplama işlemi yapılacağından sayısal alanlar seçmeliyiz. Bu sebeple Adet, Fiyat ve Toplam alanlarını seçiyorum.
Tarih’den Ay Değerini Almak
İlk tarih alanı Sayısal tarih değerleri gelsin. Bunun için tarih verisi yerine AY_NO: Month([Tarih]) yazıyorum.
AY_NO : İki Nokta karakterinden önce yazılan değerler Kolon ismi olarak alınır.
Month : Tarih alanındaki değerden sadece ay kısmını sayısal olarak alır. Örneğin Month(03.06.2005) formülü yazarsak formül bize 6 değerini verir.
Sırala : Artan
Ay isimleri Ocak, Şubat … şeklinde sıralanması olsun istiyorum. Ancak Metinsel Değerlerse sıralama harf sıralaması ile olacağından sayısal değeri de sorguya dahil ettim. Çıkan sayısal değerleri de Artan şekilde sıralıyorum.
Sayısal Ay Numarasından Metinsel Ay Değerini Almak
İkinci tarih alanı ise Metinsel olarak Ocak gibi değer gelmesini sağlayalım. Bunun için ikinci tarih alanına AY_ADI: MonthName(Month([Tarih])) şekilde formül yazıyoruz.
AY_ADI : İki Nokta karakterinden önce yazılan değerler Kolon ismi olarak alınır.
MountName : 1 ile 12 arasında sayısal olarak verilen değeri Ay ismine çevirir. Örneğin MountName(6) yazarsak Haziran Değerini verir.
Sorguyu çalıştırdığımda aşağıdaki şekilde veri elde etmiş olacağız.
Amacım her ay değerinden 1 tane olsun. Diğer Adet, Fiyat ve Toplam alanlarını da toplayarak ay bazlı toplam değerlerini vermesini istiyorum. Exceldeki Özet Tablo gibi düşünebiliriz.
Bunun için Sorgu tasarımına tekrar dönüyoruz. Tasarım Sekmesindeki Toplamlar alanın seçiyorum.
Sorguya aşağıdaki gibi Toplam Satırı gelecektir.
Bu hali ile satır bazlı aynı satırdan birden fazla varsa o alanları gruplayacaktır. Bizim amacımız Ay’ları gruplasın ama diğer sayısal alanlarsa hesaplama işlemi yapsın istiyorum. Bunun için AY_NO ve AY_ADI kolonları Grupla olacak. Böylece tekrar etmeyecek, diğer alanları ise Topla olarak değiştiriyoruz.
Sorgu aşağıdaki şekilde olmalıdır.
Veriyi sorguladığımızda aşağıdaki şekilde görülecektir.
İstediğimiz gibi günlük tarih verilerinden ay bazlı veri çıkarmış olduk.
Sorguyu AYLAR olarak kaydediyorum. İşlemin birinci adımı tamam.
Metinsel olarak Ay bazlı Rapor Oluşturma
Şimdi Sorguda elde ettiğimiz verileri Raporlar kısmında göstereceğiz. İstersek sorguda yaptığımız MountName formülü burada da kullanabilirdik. Formüller Raporda, Formda, Sorguda her yerde çalışır. Ben sorguda kullandım.
Bunun için Boş Rapor açıyorum. Tasarım Görünümüne geçiyorum. Rapor Sayfa tasarımını aşağıdaki şekilde kısaltıyoruz.
Böylece alt alta tekrar işleminde tekrar dizayn ile uğraşmayacağım.
Sorguyu Rapora Bağla ve Alanları Rapora Ekle
İlk kural hangi tablo veya sorgu ile çalışacaksa onu Rapora bağlıyorum.
Bunun için Sağ Tuş Rapor Özellikleri Kayıt Kaynağında hazırladığımız AYLAR sorgusunu seçiyorum.
Böylece Sorguyu Rapora bağlamış olduk.
Tasarım Sekmesinden Var Olan Alanları Ekle seçiyoruz.
Sağ kısımda Alan Listesi görülecektir. Bu kısımda Sorguda belirlediğimiz alanlar görünmektedir.
İlk olarak AY_ADI kolonunu Sayfanın ayrıntı kısmına sürüklüyoruz.
Amacım Sayfa Üst Bilgisinde Başlıklar, Verinin geleceği tekrarlanan kısımda Ayrıntı alanında kalmasıdır. Bu işlemi Manuelde yapabiliriz. Ancak menülerden Düzenle alanından yapmanızı tavsiye ederim.
AY alanı seçiliyken Düzenle sekmesinden Sekmeli seçiyoruz.
Tasarım aşağıdaki şekilde olacaktır.
Şimdide diğer alanları istediğiniz sıralamaya göre yanına getiriyoruz. Bunun için AY alanı seçiliyken Alan Listesinden diğer alanları sürükleyip tam alanının biten kısmına getirip bırakıyoruz. Kolonun hizasında yapabileceğini turuncu çizgi belirecek
Bıraktığınızda aşağıdaki şekilde hizalı şekilde hemen yanında diğer kolon belirecektir. Diğer alanlarla birlikte aşağıdaki şekilde olacaktır.
Rapor neredeyse tamam. Rapor Görünümünde açıp verileri kontrol edelim.
Raporun Görsel Tasarımı
Raporda görüldüğü gibi veriler doğru şekilde gelmiş.
Kenardaki çizgilerini kaldırmak için Düzen görünümüne geçiyorum. Tüm alanları seçerek Sağ Tuş Özellikler seçiyorum. Kenarlık Stilini Saydam olarak değiştiriyorum. Sayısal alanları da aynı yerdeki Biçim ve Ondalık Basamakları alanından aşağıda şekilde seçiyorum.
Tekrar Rapor bölümüne geçtiğimizde daha görsel verimiz oldu. Siz tasarımı farklı şekilde yapabilirsiniz.
Form Üzerinden Ay alanındaki Sayıları Metine Çevirme
Eğer form üzerinden Ay ismini değiştirmek isteseydim Rapor Tasarım bölümüne geliyoruz. Ayrıntı kısmında ki AY_NO alanını seçiyoruz ve Özellikler Sayfasındaki Denetim Kaynağına gidip … basıyoruz.
İfade Oluşturucusu açılacaktır. Veri alanında AY_NO kolonu görülmektedir. Biz bu alanı hazır fonksiyonlarla Metin haline dönüştüreceğiz.
AY_NO yazısını siliyoruz. Aşağıdaki kategorilerden MonthName fonksiyonu çağırıyoruz.
İfade Öğelerinden Fonksiyonlar
- Yerleşik İşlevleri seçiyoruz.
- Tarih/Saat Seçiyoruz.
- MonthName alanını çift tıklıyoruz.
=MonthName([AY_NO]) formülünü yazıyoruz. [AY_NO] değeri daha önce yaptığımız gibi ayın sayısal karşılığını veriyordu. MounthName fonksiyonu ile de Metinsel değere çevirmiş oluyoruz.
Rapora Toplam Alanı Eklemek
Birde yıl bazlı Toplam değerini Raporun en altına ekleyelim.
Bunun için önce toplam işlem yapabilecek alan olan Rapor Altbilgisi alanını çağırmamız gerekiyor. Tasarım Sekmesinden Başlık alanını seçiyoruz. Sayfa başlığımız ve alt Kısımda Rapor Alt Bilgisi alanı gelmektedir. İşte ayrıntıda çıkan verilerin Toplam işlemini bu alanda yapacağız. Diğer alanlara ekleyeceğimiz formülü koyarsanız çalışmayacaktır.
Formda gerekli küçültmeleri yaptıktan sonra Rapor Alt Bilgisine boş bir Metin Kutusu ekleyelim. Toplam Alanının hizasına getirip Para birimi ve Ondalık basamakları önceki Toplam alanı gibi belirleyelim. Aradan çıksın.
Formülü =Topla([Toplam]) şekilde yazıyoruz. Aylar sorgusundaki Toplam alanındaki çıkan verileri Topla anlamına gelmektedir.
Rapor Görünümünde açtığımızda toplam alanını da aşağıdaki şekilde elde etmiş olduk.
Eğitime Access Raporlarda Barkod Etiket Yapımı #34 makaleden devam edin.