INCLUSAO DE REGISTRO - LISTVIEW

USUARIO.EXCLUIDOS 23/03/2005 08:58:06
#74420
Boa tarde galera, mais uma vez preciso da ajuda de vocês
Eu tenho um listview onde eu exibo as informações de uma determinada tabela este listview esta abilitado o Check, o que eu quero: é que o usuario vai checar quais intens ele quer no listview e depois clicar em botão que ira incluir em uma outra tabela os itens selecionados no listview tipo eu tenho 30 registro o usuário selecionou 18 eu quero que ele inclua apenas os 18.
Sabendo ja que vocês com certeza iram me ajudar agradeço desde ja.
RODRIGOMARCHESE 23/03/2005 09:19:11
#74425
For i = 0 To ListView1.ListItems.Count - 1
If ListView1.ListItems(i).Checked = True Then
GRAVA NO BANCO
End If
Next i
USUARIO.EXCLUIDOS 23/03/2005 09:30:04
#74426
ta dando um erro na linha:
If ListView1.ListItems(i).Checked = True Then

Run-time error '35600'
" Index out of bounds "
THIAGO.CESAR 23/03/2005 10:19:06
#74447
é porque o ListView, diferente do ListBox tem como seu primeiro índice o número 1, e não o 0, portanto:

For i = 1 To ListView1.ListItems.CountIf
ListView1.ListItems(i).Checked = True Then
GRAVA NO BANCO
End If
Next i
USUARIO.EXCLUIDOS 23/03/2005 11:37:52
#74475
Thiago ele fez a inclusão na tabela o problema agora é que ele esta incluindo o mesmo registro tipo:
eu seleciono
A
B
C
D

ele esta incluindo
A
A
A
A
se eu selecionar 4 registros ele inclui quatro vezes o primeiro registro que eu selecionei.
USUARIO.EXCLUIDOS 23/03/2005 11:50:34
#74477
Tenta

For i = 1 To ListView1.ListItems.Count -1

If ListView1.ListItems(i).Checked = True Then
GRAVA NO BANCO

End If
Next
USUARIO.EXCLUIDOS 23/03/2005 11:52:15
#74478
Ps: qual a rotina GRAVA NO BANCO...
Poderia colocar ela aqui.. ajudaria
USUARIO.EXCLUIDOS 23/03/2005 13:34:54
#74494
Eu uso o seguinte código:

For i = 1 To ListView1.ListItems.Count
If ListView1.ListItems(i).Checked = True Then

Dim tvalet As Recordset 'Define a tabela para VALETRANPORTE
Dim banco As Database
'**********************
Set banco = OpenDatabase("z:\administrador_Rh\Banco.mdb") 'Abre o banco de dados
Set tvalet = banco.OpenRecordset("Select * from valetransporte") 'Abre a tabela VALETRANPORTE
'Inclui as informações do vale transporte no banco de dados
tvalet.AddNew 'Inicia a inclusão da informações
tvalet!nome_funcionario = ListView1.SelectedItem.SubItems(1) 'Campo nome do funcionário
tvalet!quantidade_vale_onibus = ListView1.SelectedItem.SubItems(7) 'Campo quantidade vale à'nibus
tvalet!quantidade_vale_metro = ListView1.SelectedItem.SubItems(8) 'Campo quantidade vale metrà'
tvalet!quantidade_vale_outros = ListView1.SelectedItem.SubItems(9) 'Campo data de entrega do vale transporte
tvalet!data_entrega! = TxtData_Entrega.Text 'Campo data de entrega do vale transporte
tvalet!Data_Inicial = Txtdata_inicial.Text 'Campo data inicial
tvalet!Data_Final = Txtdata_final.Text 'Campo data final
tvalet.Update 'Salva as informaçoes no banco de dados

End If
Next i
LIZANDRO 23/03/2005 13:45:43
#74500
Resposta escolhida
Vc tem qu colocar assim :
For i = 1 To ListView1.ListItems.Count
If ListView1.ListItems(i).Checked = True Then
....
tvalet!nome_funcionario = ListView1.ListItems.Item(i).SubItems(1)
End If
Next i

Vc tem que colocar ListView1.ListItems.Item(i).SubItens("a coluna que vc quiser"
USUARIO.EXCLUIDOS 23/03/2005 13:53:55
#74501
Iahuuuuuuuuuuuuuuuuuu, funcionou beleza valeu galera.
Tópico encerrado , respostas não são mais permitidas