![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
+Error
Hola de nuevo:
Lo de KEY VIOLATION ya esta solucionado, ha sido un error mio, daba error por que el campo DETALLENUM de la tabla2 (detalle) es la "llave" de la tabla y como siempre se repetía la misma (por que no se le daba un número) saltaba el KEY VIOLATION. Pero ahora tengo un dilema, y es que he hecho todo lo que tu me has dicho. A la tabla 2 (detalle) le he puesto en MasterSource el DataSource1 (facturas), y ahora le doy a MasterFields para seleccionar los campos con los que quiero que se relacionen las tablas, de la tabla2 (detalle) solo me sale el campo para relacionar 'DETALLENUM' y de la tabla 1 (facturas) me salen todos los campos, y así no puedo relacionar la tabla por que el número de detalle y el de la factura nunca coinciden. Necesito relacionar el nº de factura de la tabla detalles con el nº de factura de la tabla facturas. ¿Alguien tiene idea de porque no lo puedo hacer? Agradecería muchisimo cualquier ayuda al respecto. Salu2. |
|
#2
|
||||
|
||||
|
Tu problema, seguramente, es que la clave principal de la tabla detalle está compuesta sólo por el campo "DETALLENUM" y, esto, es incorrecto. Necesitas que la clave principal de la tabla detalle esté formada por los campos "FACTURANO" y "DETALLENUM" (como te comenté antes). Una vez que actualices la clave principal, verás que podrás seleccionar el campo "FACTURANO" y relacionarlo con el campo "FACTURANUM" del DataSet principal.
(De todas formas, cualquier cosa vuelve a preguntar) Saludos! Última edición por jmariano fecha: 13-09-2005 a las 02:30:08. |
|
#3
|
|||
|
|||
|
Hola de nuevo:
Eso ya lo he probado, he abierto la tabla detalles para poner la "llave" también a FACTURANO y de esta manera si me sale en MasterFields y puedo linkar FACTURANUM con FACTURANO, pero la cuestion es que me dice que DETALLENUM también lo tengo que linkar con otro campo de la tabla facturas, y si hago el link con otro campo de la tabla facturas ya no me muestra los detalles de cada factura, ya que el numero de factura coincide pero el de DETALLENUM con el otro no. Muchas Gracias por tu ayuda, espero que esta duda sea la última y asi no te molesto mas, que empiezo a ser pesado. Salu2. |
|
#4
|
||||
|
||||
|
A ver, porque creo que los dos nos estamos liando
(y, creeme, la operación es supersencilla), prueba a poner lo siguiente en el DataSet detalle:IndexFieldNames = FACTURANO;DETALLENUM MasterFields = FACTURANUM (Es decir, especificamos como índice los campos que forman la clave principal de la tabla detalle, y el campo al cual se ha de enlazar de la tabla principal) Si esto te fallara (que no debería), entonces, tendrías que ver que campos forman parte de la clave principal en la tabla de facturas (que, en teoría, debería ser solo "FACTURANUM"). Si tienes más de un campo, entonces, tendrías que añadirlos a la tabla de "detalle" para poder enlazarla (de todas formas, cualquier cosa vuelve a preguntar) Saludos! Última edición por jmariano fecha: 13-09-2005 a las 15:59:38. |
|
#5
|
|||
|
|||
|
Hola de nuevo:
Creo que ya ha quedado solucionado , lo que he hecho ha sido poner en la tabla de detalles DETALLENUM y FACTURANO los dos como 'Key' y subir el FACTURANO al numero 1 en la tabla (con del database desktop ponerlo primero). Ahora si parece que funciona. Espero que no de problemas. Muchas gracias por tus ayudas, me han servido enormemente. Salu2. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|