AccessTr.neT

Tam Versiyon: Formda Farklı Tablolardan Toplama İşlemi Yapmak
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Yeni Açıklama
Veritabanımızda KAR isimli formda kar zarar durumunu analiz edeceğiz. Bu analizi avm ve muhasebe tablolarından alınan veriler ile yapacağız.

KAR formunda metin3 metin kutusunda hangi ayın analizini yapmak istersek onu sececeğiz. ( herzaman her ayın 1. günü secilecektir.) Seçtiğimiz tarihte muhasebe tablosunda m_tarih ile avmgider tablosunda donem sutunu ile karşılaştırılacaktır.

Sectiğimiz tarih göre metin1 metin kutusunda muhasebe tablosundaki m_kira sutunları toplanacaktır. metin3=m_tarih kriterini sağlayan satırların m_kira ları toplanacaktır.

Sectiğimiz tarih göre metin7 metin kutusunda muhasebe tablosundaki m_ortakgider sutunları toplanacaktır. metin3=m_tarih kriterini sağlayan satırların m_ortakgider ları toplanacaktır.

Sectiğimiz tarih göre metin9 metin kutusunda avmgider tablosundaki elektrik, dogalgaz, guvenlik, temizlik_sodexo, temizlik_avm, yonetim_personel sutunları toplanacaktır. metin3=donem kriterini sağlamalıdır.



Eski
Merhaba;
Veritabanındaki KAR formunda sectiğimiz ay göre karlılık durumumuzu incelemek istiyorum. Çalışma prensibi aşağıdaki gibidir. 
Secilen tarih örn 01.02.2015 ise o tarihde gecerli olan sözleşme değerlerini baz alacaktır. 
Toplam Kira secilen tarihteki tüm firmaların muhasebe tablosundaki m_kira  değerlerinin toplamından gelmektedir.
toplam ortak gider payı  secilen tarihteki tüm firmaların muhasebe tablosundaki m_ortakgider  değerlerinin toplamından gelmektedir.
avm genel gider avmgider tablosundaki belirtilen tarihteki tüm sütunları toplamı şeklindedir.
Durum ise  toplam kira + toplam ortak gider payı -avm genel gider dir. şimdiden teşekkür ediyorum.

acces arayüzünü görebilmen iz için sırasyıyla 1 2 3 2 basınız.
[Resim: do.php?imgf=149606183586591.jpg]
01.02.2015 tarihine göre, örnek uygulamanızdaki sozlesme tablosundan firma id değeri 5 olan 16.01.2015 tarihli sözleşme hesaplanır.
hocam dediğiniz gibi oluyor bü yüzden bi güncelleme yaptım. sorgular aylık yapıldığı için kayıtlarıda aylık girilen bir değer üzerinden almak daha kolay olacak. bu sebepten muhasebe tablosu üzerinden işlem yapmak şeklinde değiştirdim. aynı zamanda sizin dediğiniz de doğrudur hocam. dediğiniz şekilde yapacak mantığı kurgulayamadığım için değişikliğe gitmem gerekti.
Access 2002 2003 Mdb formatında veritabanı yüklenmiştir.
sayın ALTANs,

bahsettiğiniz talebinize yönelik olarak;

elbette ki farklı çözüm önerileri ya da yöntemleri söz konusu olacaktır hesaplama ve sonuçları elde etmek üzerine fakat kendi adıma yeterli imkan ve zaman olmaması gerekçesi ile kısa süreli bir inceleme neticesinde örnek uygulamanızda aşağıdaki çözüm önerisini paylaşmak isterim.

SELECT MonthName(Month([donem])) & " " & Year([donem]) AS ay_donemi, Sum([elektrik]+[dogalgaz]+[guvenlik]+[temizlik_sodexo]+[temizlik_avm]+[yonetim_personel]) AS genel_toplam
FROM avmgider
GROUP BY MonthName(Month([donem])) & " " & Year([donem])
HAVING (((MonthName(Month([donem])) & " " & Year([donem]))=MonthName(Month([Forms]![KAR]![Metin3])) & " " & Year([Forms]![KAR]![Metin3])));

yukarıdaki kod satırlarını 0ortak_giderler_srg adı ile yeni bir sorgu oluşturup kaydediniz.ardından,form üzerindeki KOMUT11 adlı denetimin TIKLANDIĞINDA olay yordamı içerisine de

Me.metin1 = Nz(DSum("m_kira", "muhasebe", "m_tarih=#" & Format(Me.Metin3, "mm\/dd\/yyyy") & "#"), 0)

Me.Metin7 = Nz(DSum("m_ortakgider", "muhasebe", "m_tarih=#" & Format(Me.Metin3, "mm\/dd\/yyyy") & "#"), 0)

Me.Metin9 = Nz(DSum("genel_toplam", "0ortak_giderler_srg"), 0)

Me.Metin14 = Me.metin1 + Me.Metin7 + Me.Metin9

yukarıdaki kod satırlarını dahil ederek kullanmayı deneyiniz.

bilginize...iyi çalışmalar,saygılar.
çok teşekkür ederim hocam istediğim gibi olmuş. ellerinize sağlık