Problema con borrado de datos de access en vb6

El problema que tengo es que con este código me borra solo los seleccionado pero del listview y de la base de datos me elimina todos los registros, ¿en qué le estoy errando?

Private Sub Command11_Click()
Text22 = Val(label20)
q = InputBox("Ingrese monto a cobrar", "Ingresar monto")
w = InputBox("Ingrese fecha de cobro", "Ingresar fecha")
If Val(q) > (0) Then
Adodc4.Recordset.AddNew

Text29 = Val(w)
Text23 = Val(q)
Text21 = Val(label20) - Val(q)
Text25 = Val(Text22) + Val(q)
label20 = Text21

Adodc4.Recordset.Update

e = MsgBox("Desea eliminar todos los registros de este cliente?", vbYesNo, "Eliminar ventas")
If Val(e) = vbYes Then

Dim t As Long
For t = ListView1.ListItems.Count To 1 Step -1
If ListView1.ListItems(t).Selected Then
ListView1.ListItems.Remove t
End If
Rs2.Open "SELECT * FROM TICKET WHERE apnom = '" & Combo2.Text & "'", BD2, adOpenDynamic, adLockOptimistic
Rs2.Delete
Rs2.Close
Next

End If
End If
End Sub

Respuesta
1

Si mi cerebro no me engaña, es esta parte

Combo2.Text <- NO lo ubico, te recomiendo que manejes el Value del control no el texto y borres por llave primaria.

  Rs2.Open "SELECT * FROM TICKET WHERE apnom = '" & Combo2.Text & "'",

Seria algo como

Open "delete  FROM TICKET WHERE apnom = '" & Combo2.Text & "'",

Yo lo haría de la siguiente manera, recorro el control elimino el elemento y a su vez el de la base de datos.

  Dim t As Long
   For t = ListView1.ListItems.Count To 1 Step -1
    If ListView1.ListItems(t).Selected Then
    ListView1.ListItems.Remove t

    Rs2.Open "SELECT * FROM TICKET WHERE apnom = '" & Combo2.Text & "'", BD2, adOpenDynamic, adLockOptimistic
    Rs2.Delete
    Rs2.Close

    End If
   Next

¡Gracias! Me sirvió de mucho, el error estaba en el lugar donde puse el end if cuando este iba como lo pusiste vos, luego del rs2.close. Muchas gracias...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas