Alterar registro em banco access via listbox excel
Enviado: Seg Jan 14, 2019 9:59 pm
No meu banco contem os campos Pedido, Produto e status ficando assim no banco
Pedido Produto Status
1 Açucar Aberto
1 Feijão Aberto
2 Café Aberto
2 chá Aberto
O numero do pedido é inserido em cada produto, o que preciso é fazer a alteração do status de acordo com o pedido selecionado na listbox, porem está alterando sempre a primeira linha da listbox, ignorando a seleção,
segue abaixo o comando de preencher o listbox e o do botão alteração, gostaria de poder fazer
também o multiselect, para mudar todas ou produtos atendidos. Agradeço a todos a atenção!
Private Sub CommandButton1_Click()
'Preenche a listbox com os dados do banco
If txt_Pedid = "" Then
MsgBox "Prencha Data Inicial!", vbExclamation, "Aviso"
Exit Sub
End If
Dim vBusca As String
Dim linhalistbox As Integer
linhalistbox = 0
ListBox5.Clear
ListBox5.ColumnCount = 10
ListBox5.ColumnWidths = "120;90;60;80;80;60;60;60;30;60"
vBusca = txt_Pedid.Text
ConectDB
rs.Open "Select * from tHistorico where Pedido like'" & Replace(vBusca, "'", "''") & "%'", db, 3, 3
Do Until rs.EOF
With ListBox5
.AddItem
.List(linhalistbox, 0) = rs!Status
.List(linhalistbox, 1) = rs!Fornecedor
.List(linhalistbox, 2) = rs!Vendedor
.List(linhalistbox, 3) = rs!Data
.List(linhalistbox, 4) = rs!Produto
.List(linhalistbox, 5) = rs!Quant
.List(linhalistbox, 6) = rs!Uni
.List(linhalistbox, 7) = rs!Valor
linhalistbox = linhalistbox + 1
End With
rs.MoveNext
Loop
FechaDB
End Sub
Private Sub CommandButton2_Click()
'Atualiza o item selecionado no banco
Dim comandoSql As String
Dim Pedido As Integer
Pedido = txt_Pedid
comandoSql = "select * From tHistorico where Pedido like '" & Pedido & "'"
Call conecta
Set Consulta = banco.OpenRecordset(comandoSql)
With Consulta
.Edit
Consulta("Status") = Me.ComboBox1
.Update
Consulta.Close
Call desconecta
End With
End Sub
Pedido Produto Status
1 Açucar Aberto
1 Feijão Aberto
2 Café Aberto
2 chá Aberto
O numero do pedido é inserido em cada produto, o que preciso é fazer a alteração do status de acordo com o pedido selecionado na listbox, porem está alterando sempre a primeira linha da listbox, ignorando a seleção,
segue abaixo o comando de preencher o listbox e o do botão alteração, gostaria de poder fazer
também o multiselect, para mudar todas ou produtos atendidos. Agradeço a todos a atenção!
Private Sub CommandButton1_Click()
'Preenche a listbox com os dados do banco
If txt_Pedid = "" Then
MsgBox "Prencha Data Inicial!", vbExclamation, "Aviso"
Exit Sub
End If
Dim vBusca As String
Dim linhalistbox As Integer
linhalistbox = 0
ListBox5.Clear
ListBox5.ColumnCount = 10
ListBox5.ColumnWidths = "120;90;60;80;80;60;60;60;30;60"
vBusca = txt_Pedid.Text
ConectDB
rs.Open "Select * from tHistorico where Pedido like'" & Replace(vBusca, "'", "''") & "%'", db, 3, 3
Do Until rs.EOF
With ListBox5
.AddItem
.List(linhalistbox, 0) = rs!Status
.List(linhalistbox, 1) = rs!Fornecedor
.List(linhalistbox, 2) = rs!Vendedor
.List(linhalistbox, 3) = rs!Data
.List(linhalistbox, 4) = rs!Produto
.List(linhalistbox, 5) = rs!Quant
.List(linhalistbox, 6) = rs!Uni
.List(linhalistbox, 7) = rs!Valor
linhalistbox = linhalistbox + 1
End With
rs.MoveNext
Loop
FechaDB
End Sub
Private Sub CommandButton2_Click()
'Atualiza o item selecionado no banco
Dim comandoSql As String
Dim Pedido As Integer
Pedido = txt_Pedid
comandoSql = "select * From tHistorico where Pedido like '" & Pedido & "'"
Call conecta
Set Consulta = banco.OpenRecordset(comandoSql)
With Consulta
.Edit
Consulta("Status") = Me.ComboBox1
.Update
Consulta.Close
Call desconecta
End With
End Sub