AccessTr.neT
toplamı hızlandırmak - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: toplamı hızlandırmak (/konu-toplami-hizlandirmak.html)

Sayfalar: 1 2


toplamı hızlandırmak - furkan - 19/05/2013

Arkadaşlar,
ekli dosyada da göründüğü gibi sürekli formda verileri sorgulatmaktayım ve ürünleri toplamını formun altındaki metin kutularına =Topla(Nz(ToplaURUN1))aldırmaktayım. ile toplatmaktayım.

Ancak ürünlerin toplamını çok yavaş yapmakta (şuan burada çok hızlı gibi görünüyor ancak ben kendi çalışmama uyguladığımda 15-20 saniye sonra (bazen daha fazla bile oluyor) ) verileri toplayarak görünüyor.

Acaba bu toplamı hızladırmak için ne yapmalıyım?
VBA bölümünde yazılan bir kodla daha hızlı olabilir mi? veya başka bir şekilde

Saygılarımla

ikincisi yanlışlıkla oldu, kusura bakmayın birini kaldırmak istedim ancak nasıl yapılacağını bilemedim. özür dilerim.


Cvp: toplamı hızlandırmak - Puletin - 19/05/2013

Function Toplamlar()
Me.Metin9 = Nz(DSum("[ToplaURUN1]", "srgyeni"), 0)
Me.Metin11 = Nz(DSum("[ToplaURUN2]", "srgyeni"), 0)
Me.Metin13 = Nz(DSum("[ToplaURUN3]", "srgyeni"), 0)

'--------Buraya devam ediniz ----

Me.Metin27 = Nz(DSum("[ToplaURUN10]", "srgyeni"), 0)

End Function

Private Sub Komut140_Click()
Me.RecordSource = "srgyeni1"
Requery
Call Toplamlar
End Sub



Cvp: toplamı hızlandırmak - furkan - 19/05/2013

Sayın Puletin; vermiş olduğunuz kodlar çok mükemmel olarak çalıştı ve toplamları hızlandırdı. Hocam çok teşekkür ederim.

Ancak, iki tarih arasındaki sorguda toplamlar çalışmamaktadır.

(iki tarih arası sorgusunda; alış tarihine göre sorgu "srgyeni" ve satış tarihine göre sorguda ise "srgyeni1" sorgusundan sorgu yaparak verileri forma getirmektedir.) bunun için ne yapmak gerekir.


Cvp: toplamı hızlandırmak - ozanakkaya - 20/05/2013

Alış Tarihi butonuna

Private Sub Komut141_Click()
Me.RecordSource = "srgyeni"
Call AlisToplamlar
Requery
End Sub

Satış Tarihi butonuna

Private Sub Komut140_Click()
Me.RecordSource = "srgyeni1"
Call SatisToplamlar
Requery
End Sub

kodlarını ekle, aşağıdaki kodları vb sayfasına ekle

Function SatisToplamlar()
Me.Metin9 = Nz(DSum("[ToplaURUN1]", "srgyeni1"), 0)
Me.Metin11 = Nz(DSum("[ToplaURUN2]", "srgyeni1"), 0)
Me.Metin13 = Nz(DSum("[ToplaURUN3]", "srgyeni1"), 0)
Me.Metin15 = Nz(DSum("[ToplaURUN4]", "srgyeni1"), 0)
Me.Metin17 = Nz(DSum("[ToplaURUN5]", "srgyeni1"), 0)
Me.Metin19 = Nz(DSum("[ToplaURUN6]", "srgyeni1"), 0)
Me.Metin21 = Nz(DSum("[ToplaURUN7]", "srgyeni1"), 0)
Me.Metin23 = Nz(DSum("[ToplaURUN8]", "srgyeni1"), 0)
Me.Metin25 = Nz(DSum("[ToplaURUN9]", "srgyeni1"), 0)
Me.Metin27 = Nz(DSum("[ToplaURUN10]", "srgyeni1"), 0)
End Function
Function AlisToplamlar()
Me.Metin9 = Nz(DSum("[ToplaURUN1]", "srgyeni"), 0)
Me.Metin11 = Nz(DSum("[ToplaURUN2]", "srgyeni"), 0)
Me.Metin13 = Nz(DSum("[ToplaURUN3]", "srgyeni"), 0)
Me.Metin15 = Nz(DSum("[ToplaURUN4]", "srgyeni"), 0)
Me.Metin17 = Nz(DSum("[ToplaURUN5]", "srgyeni"), 0)
Me.Metin19 = Nz(DSum("[ToplaURUN6]", "srgyeni"), 0)
Me.Metin21 = Nz(DSum("[ToplaURUN7]", "srgyeni"), 0)
Me.Metin23 = Nz(DSum("[ToplaURUN8]", "srgyeni"), 0)
Me.Metin25 = Nz(DSum("[ToplaURUN9]", "srgyeni"), 0)
Me.Metin27 = Nz(DSum("[ToplaURUN10]", "srgyeni"), 0)
End Function



Cvp: toplamı hızlandırmak - furkan - 20/05/2013

Ozan hocam, elinize sağlık verdiğiniz kodlar iki tarih arası sorgulamada mükemmel çalıştı, ancak bu seferde il sorgusu yapıldığında toplam almıyor,

örneğin 25.01.2013 ile 30.01.2013 tarihleri arasını sorguladığımda çok güzel topluyor, bu sorgudan sonra gelen üç ilden birini seçtiğim an toplam çalışmıyor

hocam birisi olsa biri olmuyor, her ikiside aynı anda olmayacak herhalde

hocam ilginizden dolayı teşekkür ederim.


Cvp: toplamı hızlandırmak - ozanakkaya - 20/05/2013

Önce toplam aldırmayı sordunuz, cevap verildi. Sonradan iki tarih arası olayı, şimdi de il olayı.

1. mesajınızda üçünü belirtseydiniz hepsi olurdu.

İl seçtiğin açılan kutunun göncelleştirme sonrasında olayına aşağıdaki kodu yaz.

Private Sub ILI_AfterUpdate()
Call SatisToplamlar
Call AlisToplamlar
Me.Form.Requery
End Sub