problema con codigo de eliminacion de datos

lorrich
12 de Enero del 2004
Tengo un problema con un codigo que no me elimina de mi base datos.
Visualizo los datos de un voluntario en un mshFlexGrid y para eliminarlos hago doble click sobre el DNI, pero o la sentencia no es correcta(creo que si, no es tan complicada)o he de cambiarle algo al grid. Os dejo el codigo a ver si veis algun fallo o si sabeis de lo que he de hacer para que funcione.

If (mfgEliminarVoluntario.Col = 0) Then ' Si se hace Doble Click en la 1º columna
x = MsgBox("Seguro que desea eliminar al Empleado", vbYesNo, "Eliminar")
If x = vbYes Then 'Si desea Eliminarlo

On Error GoTo Error
With adoEliminaVoluntario
.CommandType = adCmdUnknown
.RecordSource = "Delete from Voluntarios Where DNI = '" & mfgEliminarVoluntario.Text & "%';"
mfgEliminarVoluntario.Redraw = True
End With
Exit Sub
Error:
x = MsgBox(Err.Description, , "Error")
End If
End If

Si alguien esta interesado en ayudarme tambien le puedo mandar mi aplicacion y la tabla que utilizo para comprobarlo.

Gracias.

Marco Antonio
12 de Enero del 2004
Bueno para ayudarte tienes que decirme en que version de Visual Basic estas trabajando, con que gestor de bd, y el detalle del campo de la tabla que estas usando.
Saludos

rafa
12 de Enero del 2004
Hola lorrich.
Creo que tu error esta en el uso del %. Este caracter "comodin" se utiliza con la sentencia like.
Si usas el = y usas % busca exactamente ese caracter en el campo dni ( no borra pq no encuentra).
Tu debes elegir si usa like y % (te borrara todo lo que empieza por...) o usas el = (te borra lo que es identico a....)
Espero que te sirva
Un saludo

lorrich
12 de Enero del 2004
Lo tenia con like pero le puse el = por probar, pero es como si no le hiciese caso a la sentencia.
Podria ser por el ado que no permita hacer sentencias DELETE?
Ya no se que mas pensar.
Gracias