Liste Kutusu Sütun Toplama

1 2 3 4 5 6 7 8
10/04/2023, 11:01

hnakis

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.
10/04/2023, 11:23

alikagan

liste kutusunda boş kayıt var büyük ihtimal.
tabloda boş kayıt olanlara SIFIR değeri girip tekrar deneyiniz derim.
10/04/2023, 11:34

berduş

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
10/04/2023, 12:17

hnakis

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.
10/04/2023, 15:32

berduş

çalışmanızı ekleyin inceleyelim
10/04/2023, 15:54

berduş

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
1 2 3 4 5 6 7 8