Dos tablas padre y una tabla union

Que tal tengo la siguiente pregunta: Tengo un Tabla A, una Tabla B y una tabla unión, la Tabla A esta unida a la tabla unión por medio de una columna IdTablaAfk, la Tabla B esta unida a la tabla unión de la misma forma (IdTablaBfk). El PROBLEMA es que al ingresar un nuevo registro solo la columna IdTablaAfk se incrementa automáticamente y la columna IdTablaBfk no se incrementa automaticamenta de hecho permanece sin ninguna información. He intentado un sin número de trucos que he encontrado en la red pero hasta el día de hoy (desde hace cinco meses) no he encontrado información que me ayude a resolver estaré problema.

1 respuesta

Respuesta
1
Tu pregunta noe es clara, se tiene que incrementar el campo en la tabla que tu llamas de "union", ¿o se tiene que incrementar en la tabal B?
¿Incremento aar ti es un campo autonumérico que genera unc odigo numérico? si es así, ¿Ese campo en la tabla B es Identity?
Cuando se tiene esa tabla de esa amnera "union" no se crean registros de manera automática, se debe hacer de manera manual por programación
Hola que tal, de antemano muchas gracias por tomarte un tiempo para contestarme. Perdón por la falta de claridad en mi pregunta espero ser más claro con la siguiente información.
Tabla A o "Factura" IdFactura, IdUsuario, Factura, Fecha, Origen, Destino, Importe con letra, Póliza
Tabla B ó "Cargos" IdPago, Monto a pagar, IVA, Subtotal, Total
Tabla C (Unión) ó "Detalle factura" IdDetalleFactura, IdFacturaFK, IdPagoFK, Num Paquetes, Tipo paquete
Utilizo Visual Basic 2008 Express con una base de datos a la cual pertenecen las tres tablas que menciono anteriormente.
Este es el orden (más o menos) en tiempo de ejecución y de diseño que he utilizado para hacer el Formulario Factura, a continuación te lo describo (el proceso) y al final te hago mis preguntas
El Formulario Facturas tiene las tres tablas relacionadas como ya mencione. Utilizo para la Tabla A y B el tipo detalles de orígenes de datos y he asignado tanto TextBox como ComboBox y para la Tabla C un DataGridView.
En este caso ingreso información en la primera tabla (A) dando un clic en agregar Nuevo en tiempo de ejecución.
En tiempo de diseño agregué el siguiente código
Me. TablaB_BindingSource.AddNew al evento BindingNavigatorAddNewItem_Click
para que en tiempo de ejecución me genere un registro en la tabla B
Hasta aquí se ha generado automáticamente el registro 1 (por ejemplo) de la Tabla A y yo genere por código el registro 1 de la Tabla B
Al tener el primer registro en las tablas A y B respectivamente doy un click en el DataGridView (Tabla C) y Automáticamente se genera un registro para la Tabla C en la columna IdDetalleFactura, ademas se crea automáticamente un registro en la columna de clave externa de la Tabla A es decir IdFacturaFK. Todo esto en la DataGridView de la tabla C
Es aquí donde surge la razón de todo este mensaje:
La clave externa de la Tabla B es decir IdPagoFK no se genera automáticamente esta es mi pregunta
¿Cómo puedo hacer para que esta clave externa IdPagoFK se genere de forma automática?
En la última parte de tu mensaje me comentas que hay que hacerlo por medio de código .
¿Me puedes orientar dándome algunos ejemplos de como lleno esta Fk teniendo en cuenta que esta columna de la Tabla C (IdPagoFK) será el mismo número (Integer) que se encuentre el la clave primaria de la Tabla B?.
Muchas gracias una vez más y te envío un cordial saludo.
Atentamente Chituco.
La tabla C el campo que no se genera cambia la estructura y coloca que sea autonumérico o Identity de acuerdo al tipo de Base de datsoq ue este utilizando. Con eso al adicionar el nuevo registro se genera de manera automática el Identificador.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas