Problema con el borrado de registros
Publicado por Julen (3 intervenciones) el 13/03/2006 19:20:13
Hola,
Tengo una base de datos en access con varias tablas unidos a una aplicación en visual basic, hasta ahora no me había dado problemas pero ahora estoy intentando que a la hora de borrar un cliente de una de las tablas me borre también los mantenimientos que tiene asociados en otra tabla (para ello cuento con un campo común que es el número del cliente), el caso es que cada vez que lo intento me da fallos, no se que más intentar, una de las formas que he probado ha sido así:
Dim mirec As Recordset
Dim Midb As Database
Dim PathBase As String
Private Sub mnuborrar_Click()
sPathBase = App.Path & "\euro.mdb"
If MsgBox("¿Desea Eliminar el Registro?", vbYesNo, "") = vbYes Then
Set Midb = OpenDatabase(sPathBase)
n = Frmcli.Txtnumcli.Text
Misql = "delete from mantenimientos WHERE num_cli Like " & n & ""
Set mirec = Midb.OpenRecordset(Misql, dbOpenDynaset) (EL ERROR ME LO DA EN ESTA LINEA, Invalid operation)
mirec.MoveFirst
Do Until mirec.EOF
mirec.MoveNext
Loop
mirec.Close
End If
End Sub
Se que la orden para que me borre el registro del cliente no esta introducida , pero para que me borre ese no hay problema el problema surge a la hora de borrarlos utilizando la sentencia en sql, el criterio para borrarlos me lo da el campo de num_cli que aparece en el formulario al visualizar el registro a borrar.Supongo que estará bastante mal porque no he utilizado esto nunca.
Un saludo y gracias
Tengo una base de datos en access con varias tablas unidos a una aplicación en visual basic, hasta ahora no me había dado problemas pero ahora estoy intentando que a la hora de borrar un cliente de una de las tablas me borre también los mantenimientos que tiene asociados en otra tabla (para ello cuento con un campo común que es el número del cliente), el caso es que cada vez que lo intento me da fallos, no se que más intentar, una de las formas que he probado ha sido así:
Dim mirec As Recordset
Dim Midb As Database
Dim PathBase As String
Private Sub mnuborrar_Click()
sPathBase = App.Path & "\euro.mdb"
If MsgBox("¿Desea Eliminar el Registro?", vbYesNo, "") = vbYes Then
Set Midb = OpenDatabase(sPathBase)
n = Frmcli.Txtnumcli.Text
Misql = "delete from mantenimientos WHERE num_cli Like " & n & ""
Set mirec = Midb.OpenRecordset(Misql, dbOpenDynaset) (EL ERROR ME LO DA EN ESTA LINEA, Invalid operation)
mirec.MoveFirst
Do Until mirec.EOF
mirec.MoveNext
Loop
mirec.Close
End If
End Sub
Se que la orden para que me borre el registro del cliente no esta introducida , pero para que me borre ese no hay problema el problema surge a la hora de borrarlos utilizando la sentencia en sql, el criterio para borrarlos me lo da el campo de num_cli que aparece en el formulario al visualizar el registro a borrar.Supongo que estará bastante mal porque no he utilizado esto nunca.
Un saludo y gracias
Valora esta pregunta


0