EXCLUIR ITEM SELECIONADO NO LISTVIEW

USUARIO.EXCLUIDOS 05/03/2010 10:54:05
#336163
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
SINKERTEC 05/03/2010 11:17:46
#336168


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?
USUARIO.EXCLUIDOS 05/03/2010 12:03:06
#336174
Bom dia, SINKERTEK.

rapaz fiz o que falou, mais nada, to tentando aki varias vezes, e nada, ta complicado pra mim, hehe
DAVERSON 05/03/2010 12:15:35
#336177
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...
USUARIO.EXCLUIDOS 05/03/2010 12:29:54
#336178
isso mesmo, eu estou editando uma venda já realizada.
SINKERTEC 05/03/2010 12:36:54
#336180


Passa o código de como vc esta fazendo agora

Vc ta usando ADO né?
DAVERSON 05/03/2010 13:13:52
#336183
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
USUARIO.EXCLUIDOS 05/03/2010 16:40:16
#336192
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Á
MSMJUDAS 05/03/2010 16:43:07
#336193
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.
TECLA 05/03/2010 17:06:56
#336197
Resposta escolhida
Não esqueça de alterar o objeto [Ô]conexao[Ô] para a grafia correta do objeto CONNECTION.
USUARIO.EXCLUIDOS 05/03/2010 17:33:56
#336200
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
Página 1 de 2 [20 registro(s)]
Tópico encerrado , respostas não são mais permitidas