AccessTr.neT

Tam Versiyon: Liste Kutusu Sütun Toplama
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3 4 5 6 7 8
sayın üyeler, kıymetli ustalar;

forumdaki 2 adet örneği kullanarak liste kutusu sütun toplama işlemini yapmak istedim ancak sonuç alamadım.

formun açıldığında olayına;

dim say as integer
Metin1=0
for say=0 to liste1.listcount
Metin1=Metin1 + Liste1.column(2)
Next

Metin2=liste1.listcount -1

kodunu koyduğumda işlemi yapıyor bazan. ancak ben başka bir listeden kayıt seçtiğimde süzülen listede (Liste1) sütunun toplamasını yapmak istiyorum. kodu tıklanma olayına koyduğumda kayıt sayısı alıyorum ancak sütun toplamını alamıyorum.

2 kodu kullandığımda;

Private Sub topla()
Dim Sw As Long, Sonuc As Double
For Sw = 1 To Me.Liste11.ListCount - 1
Sonuc = Sonuc + Nz(CDbl(Me.Liste11.Column(8, Sw)), 0)
Next Sw
Me.toplam = Sonuc
End Sub


*****Sonuc = Sonuc + Nz(CDbl(Me.Liste11.Column(8, Sw)), 0)

kısmında hata mesajı veriyor.

Yardım edebilirseniz sevinirim.

teşekkürler. saygılar.
liste kutusunda boş kayıt var büyük ihtimal.
tabloda boş kayıt olanlara SIFIR değeri girip tekrar deneyiniz derim.
Nz(CDbl(Me.Liste11.Column(8, Sw)), 0)
yerine
CDbl(Nz(Me.Liste11.Column(8, Sw), 0))
kodunu dener misiniz? Sayın @alikagan 'ın da belirttiği gibi veri alanı boşsa cdbl hata verir bunu engellemek için once nz() ile boş veriye 0 değeri atanabilir
sayın berduş;
liste 1 tıklama,güncelleştirme sonrası - öncesi olaylarına Call topla ekledim.

topla kısmındada dediğiniz düzeltmeyi yaptım ancak


Private Sub topla()
Dim Sw As Long, Sonuc As Double
For Sw = 1 To Me.Liste94.ListCount - 1
Sonuc = Sonuc + CDbl(Nz(Me.Liste94.Column(6, Sw), 0))
Next Sw
Me.toplatxt = Sonuc
End Sub

----------
Sonuc = Sonuc + CDbl(Nz(Me.Liste94.Column(6, Sw), 0))

kısmında Type mismatch hatası veriyor.
toplamak istediğim sütun para birimi ve sorgudaki hali;

Genel Toplam: SY("j";"Liste94";Format(Topla((([Fiyat]-([Fiyat]*[İskonto]))+(([Fiyat]-([Fiyat]*[İskonto]))*[KDV])));"#,###00.00 TL");0;Doğru)
şeklinde. acaba bundan dolayı hata veriyor olabilirmi.
çalışmanızı ekleyin inceleyelim
yanlış alanı yazmış olabilirsiniz
indexler 0'dan başlar
mesela siz toplamı 1'den başlatmışsınız ama normalde 0'dan başlar
sütunlar da benzer şekilde çalışır mesela 8. sütundan veri almak için sizin Me.Liste11.Column(7, Sw) yazmanız gerekir
Sayfalar: 1 2 3 4 5 6 7 8