EXCLUIR ITEM SELECIONADO NO LISTVIEW
bem pessoal quero excluir um item selecionado numa listwiew.
to tentando assim mais não esta dando certo.
Private Sub List1_DblClick()
If List1.ListItems.Count > 0 Then
txtCodD = List1.SelectedItem.Index
txtCodF = List1.SelectedItem
RemoverProduto
End If
End Sub
Private Function RemoverProduto()
If (MsgBox([Ô]Deseja Mesmo Excluir Este Produto?[Ô], vbQuestion + vbYesNo, [Ô]SysCom[Ô])) = vbYes Then
If txtCodF = 0 Then
tbitensaida.Close
tbitensaida.Open [Ô]Select * from TB_ITENSAIDA where CODSAIDA like[ô][Ô] & UCase(txtCodigo.Text) & [Ô][ô][Ô], , adOpenDynamic, adLockOptimistic
End If
For i = 1 To txtCodD
If i = txtCodD Then
tbitensaida.Delete
txtCodD = [Ô][Ô]
txtCodF = [Ô][Ô]
Else
tbitensaida.MoveNext
End If
Next
Enche_list
If List1.ListItems.Count = 0 Then
End If
End If
End Function
to tentando assim mais não esta dando certo.
Private Sub List1_DblClick()
If List1.ListItems.Count > 0 Then
txtCodD = List1.SelectedItem.Index
txtCodF = List1.SelectedItem
RemoverProduto
End If
End Sub
Private Function RemoverProduto()
If (MsgBox([Ô]Deseja Mesmo Excluir Este Produto?[Ô], vbQuestion + vbYesNo, [Ô]SysCom[Ô])) = vbYes Then
If txtCodF = 0 Then
tbitensaida.Close
tbitensaida.Open [Ô]Select * from TB_ITENSAIDA where CODSAIDA like[ô][Ô] & UCase(txtCodigo.Text) & [Ô][ô][Ô], , adOpenDynamic, adLockOptimistic
End If
For i = 1 To txtCodD
If i = txtCodD Then
tbitensaida.Delete
txtCodD = [Ô][Ô]
txtCodF = [Ô][Ô]
Else
tbitensaida.MoveNext
End If
Next
Enche_list
If List1.ListItems.Count = 0 Then
End If
End If
End Function
Cara...
Pq Like no select de um Código?
Outra coisa
esse tbitensaida.delete n vai funcionar...vc vc tem posicionar o cursor de registro neste item antes de excluir.....dando um select no código...no seu caso..
entendeu?
Bom dia, SINKERTEK.
rapaz fiz o que falou, mais nada, to tentando aki varias vezes, e nada, ta complicado pra mim, hehe
rapaz fiz o que falou, mais nada, to tentando aki varias vezes, e nada, ta complicado pra mim, hehe
rapaz na ta dando certo... pq vc ta procurando na tabela e provavelmente seu list aind nao foi salvo
entao vc deve ecluir o item apenas do listView
Private Sub LvItens_DblClick()
If LvItens.ListItems.Count = 0 Then
MsgBox [Ô]Sem itens para remover![Ô], vbOKOnly + vbInformation, [Ô]Remover itens do Bloco[Ô]
Else
If MsgBox([Ô]Confirma exclusão [Ô] & Chr(10) & Chr(10) & StrConv(LvItens.SelectedItem.SubItems(1), vbUpperCase), vbYesNo + vbQuestion, [Ô]Remover Itens[Ô]) = vbYes Then
LvItens.ListItems.Remove LvItens.SelectedItem.Index
TxtSomaM2.Text = CStr(Format(ComputeM2, [Ô]###,###,##0.00[Ô]))
TxtSomaM3.Text = CStr(Format(ComputeM3, [Ô]###,###,##0.000[Ô]))
Else
Exit Sub
End If
End If
End Sub
A nao ser que vc esteja editando uma venda que ja foi feita... que deve ser feito aponas em caso de devolução de mercadoria. onde deve haver o retorno pro estoque...
entao vc deve ecluir o item apenas do listView
Private Sub LvItens_DblClick()
If LvItens.ListItems.Count = 0 Then
MsgBox [Ô]Sem itens para remover![Ô], vbOKOnly + vbInformation, [Ô]Remover itens do Bloco[Ô]
Else
If MsgBox([Ô]Confirma exclusão [Ô] & Chr(10) & Chr(10) & StrConv(LvItens.SelectedItem.SubItems(1), vbUpperCase), vbYesNo + vbQuestion, [Ô]Remover Itens[Ô]) = vbYes Then
LvItens.ListItems.Remove LvItens.SelectedItem.Index
TxtSomaM2.Text = CStr(Format(ComputeM2, [Ô]###,###,##0.00[Ô]))
TxtSomaM3.Text = CStr(Format(ComputeM3, [Ô]###,###,##0.000[Ô]))
Else
Exit Sub
End If
End If
End Sub
A nao ser que vc esteja editando uma venda que ja foi feita... que deve ser feito aponas em caso de devolução de mercadoria. onde deve haver o retorno pro estoque...
isso mesmo, eu estou editando uma venda já realizada.
Passa o código de como vc esta fazendo agora
Vc ta usando ADO né?
Sua Consulta esta errada... vc ta fazendo uma busca pra deletar o item que esta na txtCodigo, e deveria ser o txtCodD.text
Private Function RemoverProduto()
If (MsgBox([Ô]Deseja Mesmo Excluir Este Produto?[Ô], vbQuestion + vbYesNo, [Ô]SysCom[Ô])) = vbYes Then
If txtCodF = 0 Then
tbitensaida.Close
tbitensaida.Open [Ô]Select * from TB_ITENSAIDA where CODSAIDA like[ô][Ô] & UCase([txt-color=#e80000]txtCodigo.Text[/txt-color]) & [Ô][ô][Ô], , adOpenDynamic, adLockOptimistic
End If
Private Function RemoverProduto()
If (MsgBox([Ô]Deseja Mesmo Excluir Este Produto?[Ô], vbQuestion + vbYesNo, [Ô]SysCom[Ô])) = vbYes Then
If txtCodF = 0 Then
tbitensaida.Close
tbitensaida.Open [Ô]Select * from TB_ITENSAIDA where CODSAIDA like[ô][Ô] & UCase([txt-color=#e80000]txtCodigo.Text[/txt-color]) & [Ô][ô][Ô], , adOpenDynamic, adLockOptimistic
End If
to usando ado sim.
Tentei da maneira que me explicou Daverson, Aparece uma mensagem de erro, BOF OU EOF SÃO VERDADEIROS, OU O REGISTRO FOI EXCLUIDO, SO QUE O REGISTRO CONTINUA LÃ
Tentei da maneira que me explicou Daverson, Aparece uma mensagem de erro, BOF OU EOF SÃO VERDADEIROS, OU O REGISTRO FOI EXCLUIDO, SO QUE O REGISTRO CONTINUA LÃ
Nesse tipo de transação é sempre bom colocar um BeginTrans, CommitTrans e RollBackTrans
Algo como:
On Error Goto TrataErro
...
Conn.BeginTrans
Conn.Execute ([Ô]DELETE FROM TABELA WHERE CODIGO = [Ô] & val(TxtCodigo.Text) & [Ô][Ô])
Conn.CommitTrans
...
TrataErro:
Conn.RollBackkTrans
Sempre faço assim os DELETES
Acho que não há necessidade de colocar UCase, a não ser que o código seja letras e números, se for só números nem precisa.
Algo como:
On Error Goto TrataErro
...
Conn.BeginTrans
Conn.Execute ([Ô]DELETE FROM TABELA WHERE CODIGO = [Ô] & val(TxtCodigo.Text) & [Ô][Ô])
Conn.CommitTrans
...
TrataErro:
Conn.RollBackkTrans
Sempre faço assim os DELETES
Acho que não há necessidade de colocar UCase, a não ser que o código seja letras e números, se for só números nem precisa.
Não esqueça de alterar o objeto [Ô]conexao[Ô] para a grafia correta do objeto CONNECTION.
Rapaz eu fiz como descrito no codigo acima, não deu certo, já to achando que vou enloquecer, quasse um dia nisso, hehe
só que agora não da mensagem de erro nenhuma, apaenas não exclui o item
só que agora não da mensagem de erro nenhuma, apaenas não exclui o item
Tópico encerrado , respostas não são mais permitidas