BAIXAR VIA CHECKBOX NO LISTVIEW

ARES 20/12/2022 22:28:08
#500901
Pessoal, boa noite!
Estou tentando fazer a baixa de vários itens em uma listview via checkebox no vb6, ocorre que selecionado itens, está repetindo a primeira linha do listview pelo número de linhas marcadas.
O que estou errando:

"Elaboração da baixa automática de acordo com os itens marcados no checkbox do listviwer

Private Sub btnpagachecked()
Dim i As Integer
" On Error GoTo ErrIntegral
i = 1
"Faz nova volta para baixa automatica
For i = 1 To lista.ListItems.Count
If lista.ListItems(i).Checked Then

Me.txtpedido = lista.SelectedItem.SubItems(1)
" Me.txtobs = item.SubItems(17)
Me.txtvalorpedido = Replace(lista.SelectedItem.SubItems(12), ".", vbNullString)
Me.txtdatapedido = Format(lista.SelectedItem.SubItems(7), "dd/mm/yyyy")
Me.txtforma_pagamento = lista.SelectedItem.SubItems(8)

lancamento_cobranca
fluxo_cobranca
End If


Next

"bloqueia os lançamentos selecionados no checkbox
"essa ação precisa que seja colocado no txtlibera = 1 para informar que o bloqueio irá ocorrer de acordo com o pagamento gerado
Me.txtlibera = "1"

MsgBox "Registro baixado com sucesso!", vbInformation, "Uai contabilidade"

" bloqueia_fin009
preenche_lista


ErrIntegral:
With Err
If .number <> 0 Then
.number = 0
End If
End With

End Sub


Agradeço a mais essa colaboração!
KERPLUNK 21/12/2022 00:50:15
#500902
Resposta escolhida
Voce está usando SelectedItem, ele só vai fazer sempre a linha selecionada...
ARES 21/12/2022 10:06:34
#500905
Bom dia!
Muitíssimo obrigado pelo retorno.

Infelizmente não estou conseguindo colocar para rodar.... Fiz uma alteração para buscar o item, contudo, agora ele estra replicando o índice do checkbox

For i = 1 To lista.ListItems.Count

If lista.ListItems(i).Checked Then
Me.txtpedido = lista.ListItems(13)
Me.txtvalorpedido = Replace(lista.ListItems(12), ".", vbNullString)
Me.txtdatapedido = Format(lista.ListItems(7), "dd/mm/yyyy")
Me.txtforma_pagamento = lista.ListItems(8)

lancamento_cobranca
fluxo_cobranca
"encerra o ultimo loop
End If

next


Nos campos que estou buscando, está retornando o ID que é vinculado ao checkbox.

KERPLUNK 21/12/2022 10:55:48
#500906
Voce precisa especificar a linha. Não lembro qual a propriedade mas acho que é "Item"

            If lista.ListItems(i).Checked Then
            Me.txtpedido = lista.Items(i).Subitem(13)
            Me.txtvalorpedido = Replace(lista.Items(i).Subitem(12), ".", vbNullString)
            Me.txtdatapedido = Format(lista.Items(i).Subitem(7), "dd/mm/yyyy")
            Me.txtforma_pagamento = lista.Items(i).Subitem(8)
            
            lancamento_cobranca
            fluxo_cobranca
"encerra o ultimo loop
            End If
ARES 21/12/2022 20:33:57
#500917
Kerplunk, muitíssimo obrigado!
Resolvido.
Tópico encerrado , respostas não são mais permitidas