Necesito ayuda con mis tablas y relaciones en Visual Basic

Mi inquietud es que tengo una tabla llamada Usuarios que tiene los campos IdUsuario y otros; y otra tabla llamada Usuarios1 enlazada a la anterior con el mismo campo IdUsuarios, tengo un adodc que maneja la primera tabla y adodc2 que maneja la segunda tabla, lo que quiero es que al eliminar un registro en la primera tabla me elimine todos los de la segunda tabla que tenga el mismo IdUsuario, el código que tengo en el botón de eliminar es lo siguiente:
Private Sub cmdDelete_Click()
Dim MiVar
MiVar = MsgBox("Desea Eliminar este Usuario?", 4, "MENSAJE")
If MiVar = 6 Then
On Error GoTo DeleteErr
With datPrimaryRS.Recordset
.Delete
.MoveNext
If .EOF Then .MoveLast
End With
End If
Exit Sub
DeleteErr:
MsgBox Err.Description
End Sub
Esto me elimina solo el registro en la tabla Usuarios, que le agrego para eliminar los Registros de la tabla Usuarios1 que tengan IdUsuario igual.
Esta clausula es correcta:
Id= TextFields1.text (es donde esta el valor)
Adodc2.CommandType = adCmdText
Adodc2.RecordSource = "delete * from Usuarios1 where IdUsuario like '" & id & "%'"
Donde tengo que escribirlo y con que más...
Le agradezco muchísimo si me puede ayudar...

1 Respuesta

Respuesta
1
With datPrimaryRS.Recordset
.Delete
. MoveNext
Acá estas borrando y luego avanzando...
Entonces cuando vas a borrar el segundo registro ya esta parado en otro lado... por eso no lo encuentra
Ademas
Veo que estas usando delete * from like & id & % el por ciento es igual que el asterisco
Si quieres borrar al usuario juan
Y tienes los usuarios
Juan
Juancho
Juana
Juanito
Esa sentencia va a borrar a los 4...
Debes sacarle el % para evitar eso...
Y luego prueba guardando el valor del id en una variable y luego lo borras desde los 2 recordset
haciendo un select más preciso
delete * from Tabla Where cod_usuario = & txtCodigo.text ' si es numero
o
delete * from usuarios where idusuario like '" & id & "'"
esto debería funcionar... otra cosa más
Según lo que veo... supongo que no estas haciendo los delete por el campo clave de la tabla... deberías intentarlo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas