Eliminar registros

Hola
Yo en un recordset normalmente elimino un sólo registro:
En una tabla cuyo campo clave sea el Email hago:
sql="SELECT Email FROM Usuarios"
sql=sql & " WHERE Email = '" & strEmail & "'"
Obj_RS.open sql,conex,3,3
if Obj_RS.Recordcount<>0 then
Obj_RS.Delete
end if
Pero me da problemas cuando por ejemplo en una tabla que no haya campo clave y permita emails duplicados, si yo elimino un registro me da fallo.
Es decir cuando en vez de ser el recordcount 1, como en el caso de antes, sale recordcount 5 por ejemplo.
yo lo que hacía es esto:
sql="SELECT Email,CodCurso FROM Usuarios WHERE Email ='" & strEmail & "'"
REM Imaginemos como dije que hay 5 registros con ese email,y quiero eliminar de esos 5 registros los que tengan CodCurso=3;yo hacía esto:
Obj_RS.open sql,conex,3,3
if Obj_RS.Recordcount<>0 then
while not Obj_RS.EOF
if Obj_RS("CodCurso")=3 then
Obj_RS.Delete
end if
Obj_RS.Movenext
wend
end if
Y eso me da fallo.Sé que es problema del puntero del recordset o algo de eso pero... Si me pudieras decir qué se hace en estos caso en que en vez de eliminar 1 cuando el recordset sea también 1, tengas un grupo de registros y quieras eliminar uno o varios... Si quieres o no te importa podrías retocar el código que te he puesto y decirme cómo sería... Muchas gracias... Un saludo... Ciao
1

1 Respuesta

397.400 pts. Que quieres que te diga, desde pequeño arreglaba...
sql="SELECT Email,CodCurso FROM Usuarios WHERE Email ='" & strEmail & "' And CodCurso=3'"
Obj_RS.open sql,conex,3,3
Do While Not obj_RS.EOF
Obj_RS.Delete
obj_RS.MoveNext
Loop

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas