Visual Basic - Eliminacion validada de un item en un listview

Life is soft - evento anual de software empresarial
 
Vista:

Eliminacion validada de un item en un listview

Publicado por Marcos Sanzana (1 intervención) el 22/05/2008 17:50:42
Amigos de TodoExpertos
acudo a sus conocimientos por un problema que tengo en un programa hecho en visual basic 6.0, el problema consiste en que nesecito que en un ListView al presionar un boton de Eliminar, si en el ListView no hay ningun elemento seleccionado, compare todos los elementos de la lista con un campo Txt_Num_Ser.Text y si es igual que lo borre pero si no que diga "No existe ningun elemento con esa descripcion o el campo Numero de serie esta vacio" o algo asi, lo tengo hecho pero al momento de borrar, sin haber ningun elemento seleccionado igual borra, y borra desde el primero elemento hacia abajo, eso es un error que no me puedo permitir tener en mi programa, parece basico, pero no e podido resolver este enigma, quizas por mi poca experiencia en programacion, por eso acudo a su ayuda, mas abajo esta el codigo fuente y al final esta el diagrama de flujo (Disculpen si me equiboque con la presentacion de los simbolos), agradeceria su ayuda, DE ANTEMANO GRACIAS
PD: esta lleno de comentarios, no limpie el codigo

Private Sub Cmd_Quitar_Ing_Click()
'Dim N_de_S_T_temp As String
Dim i As Integer
Dim Sw1 As Boolean
'If Lst_Ingreso_Temp..Selected Then
Sw1 = False
Lst_Ingreso_Temp.SelectedItem = ""
If Lst_Ingreso_Temp.ListItems.Count = 0 Then
MsgBox "No existen elementos para eliminar", vbExclamation + vbOKOnly, "Error..."
ElseIf Lst_Ingreso_Temp.ListItems.Count <> 0 Then
'''Primero verificamos que en el ListView no haya un item seleccionado o no
'MsgBox "hay elementos"
If Lst_Ingreso_Temp.SelectedItem <> "" Then
'MsgBox "hay elementos seleccionados"
MsgBox Lst_Ingreso_Temp.SelectedItem
Lst_Ingreso_Temp.ListItems.Remove (Lst_Ingreso_Temp.SelectedItem.Index)
ElseIf Lst_Ingreso_Temp.SelectedItem = "" Then
MsgBox "chao"
' MsgBox "hola"
'If Lst_Ingreso_Temp.SelectedItem.Selected = False Then
'MsgBox "no hay elemento seleccionado", vbOKOnly
''' En caso de que no haya un item seleccionado se recorre la lista para borrar
''' cualquier item que coincida con el valor unico del numero de serie
For i = Lst_Ingreso_Temp.ListItems.Count To 1 Step -1
If Lst_Ingreso_Temp.ListItems(i).Text = Txt_Num_Ser.Text Then
Sw1 = True
End If
Next i
If Sw1 = True Then
For x = Lst_Ingreso_Temp.ListItems.Count To 1 Step -1
If Lst_Ingreso_Temp.ListItems(x).Text = Txt_Num_Ser.Text Then
Lst_Ingreso_Temp.ListItems.Remove (Lst_Ingreso_Temp.ListItems(x).Index)
End If
Next x
ElseIf Sw1 = False Then
MsgBox "El elemento que desea eliminar no existe", vbExclamation + vbOKOnly, "Error..."
End If
End If
End If
'Else
'MsgBox "No hay elementos en la lista o no se a seleccionado ninguno", vbExclamation + vbOKOnly, "Error de eliminación"
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder