Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Borrar registros relacionados en tablas

Estas en el tema de Borrar registros relacionados en tablas en el foro de Visual Basic clásico en Foros del Web. Hola foreros tengo una base de datos en access y varias tablas en ella. En estas tablas hay campos relacionados con otros de otras tablas. ...
  #1 (permalink)  
Antiguo 12/06/2007, 05:18
RyT
 
Fecha de Ingreso: mayo-2007
Mensajes: 20
Antigüedad: 17 años
Puntos: 0
Exclamación Borrar registros relacionados en tablas

Hola foreros

tengo una base de datos en access y varias tablas en ella. En estas tablas hay campos relacionados con otros de otras tablas. Por ejemplo, la tabla clientes y la tabla equipos tienen un campo relacionado que se llama Codcliente.

Me gustaria saber qué puedo hacer para que si elimino un registro de la tabla clientes, automaticamente se elimine el registro cuyo codigo del cliente es igual al de la tabla clientes que he eliminado.

Muchas gracias,

espero sus respuestas
  #2 (permalink)  
Antiguo 12/06/2007, 05:32
 
Fecha de Ingreso: febrero-2007
Mensajes: 450
Antigüedad: 17 años, 2 meses
Puntos: 3
Re: Borrar registros relacionados en tablas

Hay dos formas:

1. SQL puro y duro: Cuando eliminas registros puedes poner CASCADE (si no recuerdo mal) para que elimine también todos aquellos registros de tablas relacionadas.

2. Algoritmo en VB: Siempre puedes hacer tú manualmente el algoritmo en el que si eliminas el usuario ID 3 (por ejemplo), se recorra la otra tabla y si ese campo vale 3, eliminas el registro.

El segundo caso es sencillo pero lógicamente, son unas cuantas lineas que hay que escribir... lo suyo es aprovechar el potencial del lenguaje SQL para éstas cosas, concretar una sentencia SQL siempre ahorra varias lineas de código en el lenguaje de programación que estemos.

Espero haber sido de ayuda
Saludos
  #3 (permalink)  
Antiguo 12/06/2007, 05:47
RyT
 
Fecha de Ingreso: mayo-2007
Mensajes: 20
Antigüedad: 17 años
Puntos: 0
Re: Borrar registros relacionados en tablas

Pero es que soy novato y no tengo ni idea de como acer que recorra la otra tabla para ver si hay un valor igual
  #4 (permalink)  
Antiguo 12/06/2007, 05:51
 
Fecha de Ingreso: mayo-2007
Mensajes: 74
Antigüedad: 17 años
Puntos: 1
Re: Borrar registros relacionados en tablas

Yo probaría modificando la relación en la base access (activar casilla Eliminar en cascada los registros relacionados)
  #5 (permalink)  
Antiguo 12/06/2007, 05:59
 
Fecha de Ingreso: febrero-2007
Mensajes: 450
Antigüedad: 17 años, 2 meses
Puntos: 3
Re: Borrar registros relacionados en tablas

Cierto, se podia activar directamente desde Access
  #6 (permalink)  
Antiguo 12/06/2007, 07:07
RyT
 
Fecha de Ingreso: mayo-2007
Mensajes: 20
Antigüedad: 17 años
Puntos: 0
Re: Borrar registros relacionados en tablas

Todo eso ya lo he hecho pero nada
  #7 (permalink)  
Antiguo 12/06/2007, 16:38
 
Fecha de Ingreso: febrero-2007
Mensajes: 450
Antigüedad: 17 años, 2 meses
Puntos: 3
Re: Borrar registros relacionados en tablas

Has probado usar el CASCADE en la sentencia SQL ?

Sabes ADO ? DAO ?
  #8 (permalink)  
Antiguo 12/06/2007, 17:42
 
Fecha de Ingreso: abril-2007
Mensajes: 187
Antigüedad: 17 años
Puntos: 1
Re: Borrar registros relacionados en tablas

Abre la ventana de relaciones (en access), haz doble click en la relación que desees modificar. Selecciona las tres casillas y acepta.
Asi se hace automáticamente y si no te lo hace no tienes bien hecha la tabla.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:07.