• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Dönemlik Raporlama Sorunu

Katılım
7 Şubat 2008
Mesajlar
34
Excel Vers. ve Dili
Excel 2000 Türkçe
Arkadaşlar öncelikle tüm üyeleri saygıyla selamlıyorum, aranıza yeni katıldım.Aşağıdaki programda yapmak istediklerimi açıkladım. Alt formlardan ana form üzerine dönemlik rapor almak istiyorum ancak bunu form üzerinde yapmak istiyorum bir türlü olmadı... Yardımlarınızı bekliyorum.Şimdiden teşekkürler.
 
Merhaba..


Çözüm önerim;

Enerji Tüketimi (Sorgu1)
Kod:
SELECT Sum([Enerji Tüketimi].[Elektrik Tüketimi]) AS [ToplaElektrik Tüketimi], Sum([Enerji Tüketimi].[Su Tüketimi]) AS [ToplaSu Tüketimi], [Enerji Tüketimi].Tarih
FROM [Enerji Tüketimi]
GROUP BY [Enerji Tüketimi].Tarih
HAVING ((([Enerji Tüketimi].Tarih)=[Forms]![Günlük Rapor]![Tarih]));

ve Günlük Tüketim (Sorgu2)
Kod:
SELECT Sum([Günlük Tüketim].[Kumaş miktarı]) AS [ToplaKumaş miktarı], Sum([Günlük Tüketim].[Boya Miktarı]) AS [ToplaBoya Miktarı], [Günlük Tüketim].Tarih
FROM [Günlük Tüketim]
GROUP BY [Günlük Tüketim].Tarih
HAVING ((([Günlük Tüketim].Tarih)=[Forms]![Günlük Rapor]![Tarih]));

form üzerinden belirlediğiniz tarihe göre tablolarınızdaki verilerin toplamını gösteren iki ayrı sorgu hazırlayın..

Günlük Rapor formunuza gelin...

Tarih alanı haricindeki tüm ilgili metin kutularının denetim kaynaklarına sırası ile bunları yazın..

Kod:
=DSum("[ToplaBoya Miktarı]";"[Sorgu2]")
 
=DSum("[ToplaKumaş Miktarı]";"[Sorgu2]")
 
=DSum("[ToplaElektrik Tüketimi]";"[Sorgu1]")
 
=DSum("[ToplaSu Tüketimi]";"[Sorgu1]")

Son olarakta Tarih metin kutusunun Günleştirme Sonrasında olay yordamına

Kod:
Private Sub Tarih_AfterUpdate()
Me.Requery
End Sub

yazın veriler gelecektir..
 
Sevgili Taruz, öncelikle sana çok teşekkür ediyorum. Eve yeni geldiğim için ancak teşekkür etme fırsatı buldum. Harika bir iş çıkartmışsın gerçekten, ellerin dert görmesin...Peki "Günlük Rapor" formunu, üzerindeki tarihe "Ana Tüketim Formu" üzerindeki tarihi otomatik olarak yazdırabilir miyiz, uğraştım ilişki kurarak olmadı.Yani Günlük rapordaki tarihi oklarla ilerleterek,karşılıklarını görsem ve aynı zamanda bu kayıtlar günlük rapor "tablosuna" da yazılsa.Bu mümkün müdür bilmiyorum tabii ki, ancak örnekte görüldüğü gibi ben farklı formlardan günlük toplamı bir form üzerinde göstermek istiyorum.Bu mümkünse veritabanının mimarisini de değiştirebiliriz. Hoşgörünüze sığınarak bunları yazıyorum. Saygılarımı sunarım...
 
Merhaba...


Günlük Rapor formunuzdaki Tarih metin kutusunu ters tıklayın.. Değiştir den Açılan Kutu yu seçin..

Sonradan da kutunun Veri / Satır Kaynağını

Kod:
SELECT [Ana Tüketim].Tarih FROM [Ana Tüketim] GROUP BY [Ana Tüketim].Tarih ORDER BY [Ana Tüketim].Tarih DESC;

olarak belirleyin..


Sanırım bu isteğinizi karşılar..
 
Sayın Taruz, istediğimiz gibi tabloya yazmıyor, ben yapıyı değiştirmek zorunda kalacağım sanki.Ama benim örnekteki gibi günlük verileri toplayarak bir forma aktaran, aynı zamanda da aktardığı tabloya yazdırmış olan bir çözüm mutlaka olmalı.İlişkileri mi kuramıyorum anlamadım gitti, mesela örnekte; Ana Tüketim Tablosu tarih benzersiz anahtarını ilişki ile günlük tüketim ve enerji tüketimi talolarına otomatik yazdırabiliyor.Bunu yaparsam sorun çözülecek ama bir türlü yapamadım.Gene de çok teşekkürler...
 
Kusura bakmayın, geç vakit; tam anlayamamışım..

Tablo yapılarınızı ben bu şekilde kurmazdım açıkçası.. Ama mevcut yapınızda Ana Tüketim tablonuza bağlı yeni bir forma Günlük Rapor formunu alt form bağlayarak yapabilirsiniz sanırım..

Bunun için Ana Tüketim tablonuza bir otomatik sayı alanı ekleyip birincil anahtarı bu alana vermelisiniz.. Alt formuda üst alana Tarih alanı ile bağlamayı unutmayın..

Ha bir de; sorgulardaki Tarih alanlarının ölçütüde değişecek..

Tabii yine yanlış anlamamışsam..;)
 
Kusura bakmayın, geç vakit; tam anlayamamışım..

Tablo yapılarınızı ben bu şekilde kurmazdım açıkçası.. Ama mevcut yapınızda Ana Tüketim tablonuza bağlı yeni bir forma Günlük Rapor formunu alt form bağlayarak yapabilirsiniz sanırım..

Bunun için Ana Tüketim tablonuza bir otomatik sayı alanı ekleyip birincil anahtarı bu alana vermelisiniz.. Alt formuda üst alana Tarih alanı ile bağlamayı unutmayın..

Ha bir de; sorgulardaki Tarih alanlarının ölçütüde değişecek..

Tabii yine yanlış anlamamışsam..;)

Rica ederim, öyle birşey aklınıza gelmesin. Benim düşündüğüm tam olarak şu, ben işyerinde farklı bölümlere ait tek tek formlar yapacağım.Mesela " a formunda" günlük enerji sarfiyatı girilecek, yine "b formunda" kullanıcı gün içindeki farklı zamanlarda üretim miktarlarını girecek ancak form bunun toplamını alacak, aynı şekilde "c formunda kayıp zamanları girecek" bunun gibi parça parça formlardan toplanan tarih ve ünite bazlı değerler artık tek bir forma günlük tüm üniteler bazında toplam değerler olarak yansıyacak.Yani ilişkiyi tanımlayabilsek günlük rapor formu tarihini zaten otomatik diğer formlardan alacak ve kayıtları yürütebilecek. Bunu yaparken de günlük raporun bir tablosu olmasını istiyorum. Çünkü günlük raporlardan da aylık ve yıllık dökümler alınabilsin. Şimdilik konuyla ilgilenebilen herkese teşekkürlerimi sunuyorum, mutlaka çözümü bulacağız.Yarın daha düzgün bir örnek üzerinde anlatmaya çalışacağım. Hoşçakalın. Saygılarımla...
 
Arkadaşlar herkese selamlarımı sunuyorum. Örnekte yapmak istediklerimi çok daha detaylı olarak açıkladım. Örnekle ilgilenenlerle birlikte umarım neticeye ulaşabiliriz.Ya da sistemin daha farklı tasarlanması konusunda fikirler üretebiliriz diye düşünüyorum, eğer gerçekleşirse bu çalışma birçok arkadaşımızın işine yarayabilir. Kolay gelsin...
 
Merhaba;
İnceler misiniz?

Teşekkür ederim sayın beab05, bayağı uğraş vermişsiniz.İstediğime yakın, ancak bunu tabloya yansıtamıyoruz. Ben niye tablo diye ısrar ettiğimi de açıklayayım; ay sonunda bu günlük veriler üzerinden toplam alacağım için bunu tablodan yapmak istiyorum, mutlaka sizin yaptığınız örnekte aylık raporlamayı sorgular( bu kez de sorgular üzerinde çok uğraşmak gerekebilir) ile yapabiliriz. Şunu da söylemek isterim, ben bir yerlerde mantık hatası yapıyor olabilirim, yani dönemlik toplamayı bu şekilde form üzerinde veya tablo üzerinde görmek istemem birçok arkadaşımıza ve accessin genel mantığına ters düşüyor olabilir. Ama ihtiyacım var... Görüşmek üzere, tekrar teşekkürler...
 
Merhaba;
Bayağı uğraşmadım , sadece dsum ekledim o kadar ;) Ama tarih alanınız sorun yaratıyordu onu da "cdate" ile aştım. Dediğiniz gibi tablo tasarımlarınız da hatalı. Bence bunu düzeltin öncelikle.. Tabloya yansıtamıyoruz demişsiniz ve ben de derim ki zaten asla ve asla hiç bir hesaplamayı tabloya yansıtmayın. Bu işte usta olan sorguların işini acemi ve her tuttuğunu toplayıp dükkanı şişiren tablolara vermeyin..
 
Merhaba;
Bayağı uğraşmadım , sadece dsum ekledim o kadar ;) Ama tarih alanınız sorun yaratıyordu onu da "cdate" ile aştım. Dediğiniz gibi tablo tasarımlarınız da hatalı. Bence bunu düzeltin öncelikle.. Tabloya yansıtamıyoruz demişsiniz ve ben de derim ki zaten asla ve asla hiç bir hesaplamayı tabloya yansıtmayın. Bu işte usta olan sorguların işini acemi ve her tuttuğunu toplayıp dükkanı şişiren tablolara vermeyin..

Başka bir tablo yapısı ve sistem tasarımı da aklıma gelmiyor şimdilik. Ancak alt form açarak da olmuyor.
 
Aklınıza gelmeyen yöntemler, aklınıza gelmeyecek sorunlar çıkarır...
 
Geri
Üst