Relaciones tablas sql desde vb

Tengo una BD sql y VB 2008. Cuando quiero relacionar las tablas por medio del diagrama de base de datos de sql, extiendo la llave foránea a la tabla donde es principal con el fin de hacer una consulta, y cuando le doy guardar sale un error diciendo que alter table esta en conflicto con la llava foránea por lo tanto no se puede hacer la relación. ¿Me regalas una manito
Respuesta
1
Seguramente tu tabla que tiene la llave foránea tiene datos y la llave foránea no existe en la tabla con la llave principal.
Te pongo un ejemplo para que me captes la idea, Si tuvieras estas 2 tablas producto, categoría
Producto
id_produrcto
nombre
id_categoria
categoria
id_categoria
nombre_categoria
Si estos fueran los datos
Categoría
1 A
2 B
Producto
001 W 1
002 X 2
003 Y 2
004 Z 3
****************
Definitivamente te saldrá un error, ya que en la tabla producto en la ultima fila estas usando un ID_CATEGORIA 3 el cual no existe en el maestro de categorías.
PDT:

1 respuesta más de otro experto

Respuesta
1
La relación se crea arrastrando de la tabla que tiene la llave primaria hacia la tabla que va a ser llave foránea, ¿así lo estas haciendo?
Si estas haciendo la relación y ya existen datos, entonces la relación no se puede hacer porque los datos no coinciden, esto es tienes una llave foránea que no existe en la tabla de la llave primaria.
Hola.
Gracias por tu pronta respuesta. Si arrastro las llaves hacia las otras tablas. El problema es que arrastro la llave foránea IdDestinatario desde la tabla "guia" hacia la principal que esta en la tabla "DESTINATARIO" y viceversa y no acepta la relación. Y así hago con las otras tablas y pasa igual. No se que hacer.
Gracias.
¿Las tablas tienen datos?
Hola..
Si, contienen datos
En la primera respuesta te lo explique
Tienes datos que no corresponden a la relación que quieres establecer, por eso no es posible crear la relación.
Me explico tienes una llave foránea que no existe en la tabla principal como llave primaria. Esto es tienes un código 100 en la tabla foránea y ese código no existe en latabla principal.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas