INCLUSAO DE REGISTRO - LISTVIEW
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.
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.
For i = 0 To ListView1.ListItems.Count - 1
If ListView1.ListItems(i).Checked = True Then
GRAVA NO BANCO
End If
Next i
If ListView1.ListItems(i).Checked = True Then
GRAVA NO BANCO
End If
Next i
ta dando um erro na linha:
If ListView1.ListItems(i).Checked = True Then
Run-time error '35600'
" Index out of bounds "
If ListView1.ListItems(i).Checked = True Then
Run-time error '35600'
" Index out of bounds "
é 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
For i = 1 To ListView1.ListItems.CountIf
ListView1.ListItems(i).Checked = True Then
GRAVA NO BANCO
End If
Next i
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.
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.
Tenta
For i = 1 To ListView1.ListItems.Count -1
If ListView1.ListItems(i).Checked = True Then
GRAVA NO BANCO
End If
Next
Ps: qual a rotina GRAVA NO BANCO...
Poderia colocar ela aqui.. ajudaria
Poderia colocar ela aqui.. ajudaria
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
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
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"
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"
Iahuuuuuuuuuuuuuuuuuu, funcionou beleza valeu galera.
Tópico encerrado , respostas não são mais permitidas