[ÇÖZÜLDÜ] Listwievde çeklenen satır/satırların 6. sütunlarını toplayıp Textbox2 ye yazmak

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
[ÇÖZÜLDÜ] Listwievde çeklenen satır/satırların 6. sütunlarını toplayıp Textbox2 ye yazmak

Kod:
Private Sub Lvw_AdSoyad_ItemCheck(ByVal Item As MSComctlLib.ListItem)
    With Lvw_AdSoyad
        For i = 1 To .ListItems.Count
            If .ListItems(i).Checked = True Then
                Say = Say + 1
                'Top = Top + .ListItems(i).SubItems(5)
                TextBox2.Text = Say
            Else
                'TextBox2.Text = Empty
            End If
        Next i
    End With
End Sub
Şeklinde denedim ancak
1) 'Top = Top + .ListItems(i).SubItems(5)
satırına geldiğinde ekranda hiç bir şey olmuyor.

2) Say değeri ile devam ettiğimde Lw de çekli satı olmamasına rağmen 1 değerini göstermeye devam ediyor.

3= Lw de tüm listeyi kontrol etmek yerine çeklenen satırın numarasını tespit etmek mümkün mü?
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,653
Excel Vers. ve Dili
Pro Plus 2021
Label13 ve label14 forma yerleştirip, formun initalize kısmına aşağıdaki satırları ilave edin.
Kod:
Label13.caption=0
Label14.caption=0
Kod:
Private Sub Lvw_AdSoyad_ItemCheck(ByVal Item As MSComctlLib.ListItem)
    If Item.Checked = True Then
        Label13.Caption = Format(CDbl(Label13.Caption) + CDbl(Item.SubItems(5)), "#,##0.00")
        Label14.Caption = Val(Label14.Caption) + 1
        Else
        Label13.Caption = Format(CDbl(Label13.Caption) - CDbl(Item.SubItems(5)), "#,##0.00")
        Label14.Caption = Val(Label14.Caption) - 1
    End If
End Sub
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
teşekkür ederim hocam aşağıdaki gibi kullanacağım;

Kod:
Private Sub Lvw_AdSoyad_ItemCheck(ByVal Item As MSComctlLib.ListItem)
    With TextBox2
        If Item.Checked = True Then
            .Value = Format(CDbl(.Value) + CDbl(Item.SubItems(5)), "#,##0.00")
        Else
            .Value = Format(CDbl(.Value) - CDbl(Item.SubItems(5)), "#,##0.00")
        End If
    End With
End Sub
combolar değişince değerin değişmesi içinde aşağıdaki prosodürü ekledim ve combo change olaylarını değiştirdim.;
Kod:
Private Sub Lwv_CheckKaldır()
    With Lvw_AdSoyad                                                                                      '##'
        For i = 1 To .ListItems.Count                                                                   '##'
            .ListItems(i).Checked = False                                                     '##'
        Next i                                                                                          '##'
    End With 'Lvw_AdSoyad                                                                                 '##'
    TextBox2.Value = 0
End Sub
Kod:
Private Sub cmb_BYil_Change()
    If islemDevam = False Then Call comboTextHazirla: Call Lwv_CheckKaldır
End Sub
Private Sub cmb_mYil_Change()
    If islemDevam = False Then Call comboTextHazirla: Call Lwv_CheckKaldır
End Sub
Private Sub cmb_GTur_Change()
    If islemDevam = False Then Call comboTextHazirla: Call Lwv_CheckKaldır
End Sub
Private Sub cmb_mMer_Change()
    If islemDevam = False Then Call comboTextHazirla: Call Lwv_CheckKaldır
End Sub
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,653
Excel Vers. ve Dili
Pro Plus 2021
Combolar değişince zaten checkler kalkıyor, yukardaki kodlara gerek yok. Sadece
comboTextHazirla altına textbox.text=0 ekleyin yeterli olur zannedersem.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Combolar değişince zaten checkler kalkıyor, yukardaki kodlara gerek yok. Sadece
comboTextHazirla altına textbox.text=0 ekleyin yeterli olur zannedersem.
Dediğiniz gibi yaptım hocam...

Kod:
[LEFT]Private Sub Lvw_AdSoyad_ItemCheck(ByVal Item As MSComctlLib.ListItem)
    With TextBox2
        If Item.Checked = True Then
            .Value = Format(CDbl(.Value) + CDbl(Item.SubItems(5)), "#,##0.00")
        Else
            .Value = Format(CDbl(.Value) - CDbl(Item.SubItems(5)), "#,##0.00")
        End If
    End With
End Sub[/LEFT]
birde

Kod:
Sub comboTextHazirla()
    kriter = ""
    For x = 0 To 3
        With Controls(combolar(x))
            If .Text <> "" Then
...........
    TextBox2.Value = 0
End Sub
nın sonuna ekledim. initalizeyede eklemedim. nasıl olsa açılışta yine comboTextHazirla prosodürü çağrılıyor.
 
Üst