Pessoal, me apressei ao encerrar o tópico abaixo:
viewtopic.php?f=10&t=25177
Na verdade o código atende a necessidade em partes, pois quando ele altera a informação no BD, ele pega apenas o primeiro item do Listviwer..
'Cria variável que armazena os comandos SQL
Dim ComandoSQL As String
Dim ID As Long
ID = txt_codigo
'Armazena na variável o comando que fará a consulta SQL no BD Access
ComandoSQL = "select * from TB_MM_1 where Pedido like '" & ID & "' "
'Chama a rotina que faz a conexão ao Banco de Dados
Call Conecta
'Atribui a variável global do tipo Recorset, os comandos SQL que devem ser executados
Set consulta = banco.OpenRecordset(ComandoSQL)
'****Abre o Recordset do BD para edição
consulta.Edit
If consulta.EOF = False And consulta.BOF = False Then
consulta.MoveFirst
Do While consulta.EOF = False
consulta.Edit
' consulta("Pedido") = Me.ListView1.SelectedItem.SubItems(1) ' Pedido
consulta("Material") = Me.ListView1.SelectedItem.SubItems(2) ' Material
consulta.Update
consulta.MoveNext
Loop
'Atualiza o Recordset do BD
'Exibe mensagem de sucesso na alteração dos dados
' MsgBox "Registro Alterado com Sucesso!", vbDefaultButton1, "ALTERAÇÃO"
End If
sai: 'O comando será desviado parta cá caso haja erro de acesso aos dados
Dim resposta As String 'cria a variável resposta
' resposta = MsgBox("Registro não encontrado.", vbCritical, "Atenção")
'Chama a rotina que libera as variáveis de objeto do BD
Call Desconecta
'Abandona a subrotina
Exit Sub
End Sub
Postado : 04/07/2017 5:26 pm