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

Eliminar datos de tablas relacionadas

Estas en el tema de Eliminar datos de tablas relacionadas en el foro de Visual Basic clásico en Foros del Web. Hola, tengo un problema estoy desarrollando un programa en visual basic 6 el cual editar, eliminar y agrega nuevos datos, tengo dos tablas : Clientes: ...
  #1 (permalink)  
Antiguo 12/06/2008, 11:37
Avatar de laluka  
Fecha de Ingreso: julio-2007
Mensajes: 26
Antigüedad: 16 años, 9 meses
Puntos: 0
Eliminar datos de tablas relacionadas

Hola, tengo un problema estoy desarrollando un programa en visual basic 6 el cual editar, eliminar y agrega nuevos datos, tengo dos tablas :

Clientes: NoUsuario#, nombre , y Pagos:nombre#,montos..

ambas tablas estan relacionadas por nombre# , el problema es que al editar ,eliminar , agregar la tabla clientes me dan un error que dice que se necesita un registro relacionado en la tabla pagos , pero no se como hacerlo , aqui les dejo una pequeña parte del codigo:

'eliminar'
cnn.Execute "delete from db where NoUsuario = " & .Text & ""

quisiera que em digan como puedo actualiza,editar, eliminar los datos de las 2 tablas relacionadas, desde ya gracias .
  #2 (permalink)  
Antiguo 12/06/2008, 12:12
 
Fecha de Ingreso: noviembre-2006
Mensajes: 227
Antigüedad: 17 años, 6 meses
Puntos: 6
Respuesta: Eliminar datos de tablas relacionadas

Prueba con Esto

Código:
cnn.Execute "DELETE FROM Clientes, Pagos WHERE nombre = '" & TuTexto.Text &"'
Espero te Sirva, Si no ya nos Contaras.
  #3 (permalink)  
Antiguo 12/06/2008, 15:24
Avatar de laluka  
Fecha de Ingreso: julio-2007
Mensajes: 26
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Eliminar datos de tablas relacionadas

Hola, gracias por tu rrespuesta hice lo que me dijiste y me sale eñ siguiente error: Error de sintaxis (falta operador) en la epresion consulta ' nombre=jorge ' , el cua es el nombre que quiero borrar en las do2 tablas, sera que em da error porque nombre# el llave irncpl de la tabla pagos?¿, como puedo solucionarlo,
  #4 (permalink)  
Antiguo 12/06/2008, 17:05
Avatar de Txoco  
Fecha de Ingreso: junio-2008
Ubicación: Perdido en tierras Quijotescas
Mensajes: 189
Antigüedad: 15 años, 11 meses
Puntos: 7
Respuesta: Eliminar datos de tablas relacionadas

Hola!

Primero, para que te funcione la instrucción de SalomonSab, debes cerrar las comillas. Fíjate que te dice "nombre=jorge" y no "nombre='jorge'", con comillas simples.

Por otra parte, si tienes bien definida la base de datos, no tienes que preocuparte de nada de esto, simplemente tienes que activar lo que se denomina "integridad referencial". Como me imagino que estás trabajando contra Access (en cualquiera de sus versiones), haz lo siguiente:

- Abre la base de datos y muestra el diagrama de relaciones desde el menú Herramientas -> Relaciones (ya conocerás esto si has relacionado las tablas).
- Haz doble click en la línea (relación) que une las dos tablas.
- Bajo la lista de campos, hay una checkbox que pone "Exigir integridad referencial", y al marcarla, se activan "Actualizar en cascada los campos relacionados" y "Eliminar en cascada los registros relacionados". Márcalas todas, y con un simple "DELETE FROM clientes WHERE loquesea", te eliminará automáticamente sus datos relacionados en [pagos].

¡Haz una copia de la base de datos antes de probar!

El trabajar en cascada significa que si modificas el campo de la tabla maestra (clientes), esos cambios se reflejan automáticamente en la tabla de detalle (pagos). Si haces la prueba directamente en Access, verás que al borrar un cliente, te borra sus pagos, y si activas "Actualizar en cascada etc", si cambias el nombre del cliente, te lo cambiará también en sus pagos, manteniendo de esta forma la relación entre los datos sin que tengas que preocuparte de nada más.

A eso es a lo que se llama integridad referencial, que es el concepto en el que se basan las bases de datos relacionales. Si no estás trabajando contra Access, muy raro sería que utilizases una base no relacional, así que si ese fuera el caso, coméntalo y te explicamos cómo se puede hacer de otra manera, más engorrosa, pero universal.
  #5 (permalink)  
Antiguo 12/06/2008, 20:36
Avatar de laluka  
Fecha de Ingreso: julio-2007
Mensajes: 26
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Eliminar datos de tablas relacionadas

muhas grcias por tu respuesta , y si esty trabajando con access, hice lo que em dijiste y si funciona desde el mismo Access pero no desde mi progrma , creo q mi error es el diseño de mi base de datos que no esta bien , detodas formas muchas grcias por la ayuda
  #6 (permalink)  
Antiguo 13/06/2008, 14:47
 
Fecha de Ingreso: noviembre-2006
Mensajes: 227
Antigüedad: 17 años, 6 meses
Puntos: 6
Respuesta: Eliminar datos de tablas relacionadas

a ver si ahora si te funciona
Código:
cnn.Execute "DELETE FROM Clientes, Pagos WHERE nombre = '" & TuTexto.Text &"'"
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 12:48.