topla yerleşik fonksiyonu

Katılım
17 Kasım 2006
Mesajlar
15
Excel Vers. ve Dili
ofice 2003 tr
arkadaşlar deyim oluşturucuda,yerleşik fonksiyonlarda bulunan topla komutunu vba dan nasıl kullanabilirim formda alt toplam alıyorum bunu kod satırından yapmam gerekiyorr.

=topla([giris_adeti]) burda giris adetindeki sayıları toplatıp alta yazdırıyorum bunu vba da bi türlü yapamadım

teşekkürler
 
Son düzenleme:
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın tuntem,

Genelde toplamlar aynı şekilde alınır.

Metin17=Topla(giris_adedi) gibi.

Ancak mademki form üstünde bu toplamı alan metin kutunuz var(Metin17) toplam olarak o metin kutusunu referans olarak kullanabilirsiniz:

stok_sayısı= x - Me.Metin17 gibi.

Ancak tabi bu kodları belirli olaylardan sonra çalışacak gibi yazmanız gerekir.

Form Load (Form yüklenirken ilk görünecek sonucun doğru olabilmesi için.
Form Current (form üstünde kayıtlar arasında dolaşırken)
giriş_adedi After Update (Giriş adedi metin kutusu güncelleştikden sonra)

İyi çalışmalar:)
 
Katılım
17 Kasım 2006
Mesajlar
15
Excel Vers. ve Dili
ofice 2003 tr
Metin17=Topla(giris_adedi)

ilginiz için teşekkürler..

topla burda hata veriyor..ana formda yada alt formda current olayında toplam girende cıkanı cıkarıp yazdırmaya çalıştım.Alt formda bulunan bütün giriş adetlerini toplayıp cıkan sayısından çıkarıp hesaplatıyor.

ss.stok_sayısı = Metin17 - ss.cıkan_sayısı

burada yanlızca aktif id kayıtı toplamayıp bütün alt formdaki giriş_adet alanlarını topluyor.current olayına bakarsanız..
yani doğru sonucu vermiyor siz bunu yapıp gönderirseniz sevinirim..
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın tuntem,

Siz kodları karıştırıp yazdınız. Aşağıdaki kodları malzemeler ana formunun kod sayfasına kopyalayıp yapıştırın.


Kod:
Private Sub Form_Current()
x = Access.DSum("[alisveris]![adet]", "alisveris", "[malzeme_id]= [alisveris]![malzeme_no] ")
y = Me.malzeme_girisleri_Altform.Form.Metin17
Me.stok_sayısı = y - x
End Sub
Private Sub Form_Load()
x = Access.DSum("[alisveris]![adet]", "alisveris", "[malzeme_id]= [alisveris]![malzeme_no] ")
y = Me.malzeme_girisleri_Altform.Form.Metin17
Me.stok_sayısı = y - x
End Sub
Yanlız bir hata daha gördüm normal şartlarda oluşmaması gerekir ama iş karıştığı için bir yerde bir hata var. Alt formda malzeme adedini değiştirdiğinizde toplam malzeme ve toplam fiyat değişmiyor.

İyi çalışmalar:)
 
Katılım
17 Kasım 2006
Mesajlar
15
Excel Vers. ve Dili
ofice 2003 tr
sayın modalı

teşekkürler şimdi oldu..

ben Me.malzeme_girisleri_Altform.Form.Metin17 şeklinde yazmadığım için bütün giriş yapılan malzemeye ait toplamı alıp çıkış adetinden çıkarıyordu..galiba

yani

yukarıda Dim xx As New [Form_malzeme_girisleri Altform] dedikten sonra
x = Access.DSum("[alisveris]![adet]", "alisveris", "[malzeme_id]= [alisveris]![malzeme_no] ")
'y = Me.malzeme_girisleri_Altform.Form.Metin17
y = xx.Metin17
MsgBox y
Me.stok_sayısı = y - x

tüm giren kayıtlartaki giriş adetini topluyordu banada mantıksız geliyordu tabi neyse sağolunnnnnnn.. :arkadas:
 
Üst