Skip to main content

AccessTr.neT


toplamı hızlandırmak

toplamı hızlandırmak

Çözüldü #1
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.
.rar deneme.rar (Dosya Boyutu: 99,13 KB | İndirme Sayısı: 21)
furkan, 28-03-2009 tarihinden beri AccessTr.neT üyesidir.
Son Düzenleme: 19/05/2013, 18:16, Düzenleyen: furkan.
Cevapla
Çözüldü #2
Visual Basic Code
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

Visual Basic Code
Private Sub Komut140_Click()
Me.RecordSource = "srgyeni1"
Requery
Call Toplamlar
End Sub
Kaplumbağa ya dikkat et...
Sadece  başını çıkartıp risk aldığında ilerleyebiliyor...
Cevapla
Çözüldü #3
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.
furkan, 28-03-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
Çözüldü #4
Alış Tarihi butonuna

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

Satış Tarihi butonuna

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

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

Visual Basic Code
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
"Boş Örnek Eklerim, Yapıp Verirler" demeyin, örneğinizi hazırlayın.
Komplike kod talebiniz var ise İletişim bağlantısından bize ulaşın. 
Cebelleşmezsen Öğrenemezsin. 
Cevapla
Çözüldü #5
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.
furkan, 28-03-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
Çözüldü #6
Ö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.

Visual Basic Code
Private Sub ILI_AfterUpdate()
Call SatisToplamlar
Call AlisToplamlar
Me.Form.Requery
End Sub
"Boş Örnek Eklerim, Yapıp Verirler" demeyin, örneğinizi hazırlayın.
Komplike kod talebiniz var ise İletişim bağlantısından bize ulaşın. 
Cebelleşmezsen Öğrenemezsin. 
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da