Borrado incorrecto de base de datos con Ado con el metodo rs.delete

Iniciado por RiasChan, 10 Marzo 2018, 18:36 PM

0 Miembros y 1 Visitante están viendo este tema.

RiasChan

Es visual basic 6.0 (tenia un proyecto del 2007 y ho 11 años despues quise retomarlo)

Bueno resulta que tengo este codigo:

   Dim rs As ADODB.Recordset
       If Not Conectar() Then Exit Sub
       Set rs = New ADODB.Recordset
           rs.Open ("Elementos"), cn, adOpenKeyset, adLockOptimistic
           On Error Resume Next
           rs!Categoria = txtcate
           rs.Delete
           rs.Close
           rs.update
           Set rs = Nothing
           Desconectar


Elimina el registro de la base de datos, pero no el seleccionado. El registro está en el txtcate. Ahi está escrito el valor que quiero borrar de la base de datos (obviamente es un txt no modificable y son identicos). Lo que quiero es que me borre de la base de datos, el valor de ese txt.

Lo que pasa es que me borra el primer registro de la base de datos y no el que esta escrito en el txt. Comopuedo hacer para que me borre el registro seleccionado en el txt?

Ah, es la única columina de la tabla en el access, es solo 1 columna
gracias

MCKSys Argentina

Si categoria es numérico:

rs.Execute "DELETE * FROM Elementos WHERE Categoria = " + txtcate.Text

Si es string:

rs.Execute "DELETE * FROM Elementos WHERE Categoria = '" + txtcate.Text + "'"

Saludos!

PD: El * borra todos los registros que cumplan con Categoria = txtcate.Text
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


RiasChan