FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
duda en el diseño
Hola!!!
Perdon por anticipado si este no es el apartado para el diseño de DBs, pero es el que crei mas apropiado. tengo una tabla de facturas, que esta relacionada con una tabla clientes, pero sucede que la factura puede no tener un cliente, entonces no me permite crear una clave foranea, mi duda es como hago, sin crear una clave foranea, para comprobar que los datos que se ingresen en la tabla facturas.nro_cliente sean validos, o sea que el cliente exista pd: uso IB6 y D7 con dbxpres |
#2
|
|||
|
|||
Bueno, puedes hacerlo de varias formas
1.- Crear un cliente "varios" o "general" (esto se suele hacer en estos casos) 2.- Validas la existencia o no del cliente antes de la grabación del registro (BeforePost) 3.- Validas los datos introducidos en el campo (OnValidate del TField) 4.- Otra que se te ocurra |
#3
|
||||
|
||||
Si tienes que poder crear una clave foranea, una clave foranea solo exige que el dato ingresado diferente a nulo en FACTURAS.NRO_CLIENTE existe en la tabla CLIENTES, si quieres completarla para que sea obligatorio tienes que exigir que FACTURAS.NRO_CLIENTE no sea nulo, pero este no es tu caso.
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#4
|
|||
|
|||
Hola:
Por si te sirve, nosotros la aplicacion de gestion/facturacion la entregamos con un cliente que es cliente contado, el cual por medio de triggers no se puede eliminar como mucho cambiar de nombre y por defecto al hacer una factura sale ese cliente, si lo cambias, eliges otro de los dados de alta, pero no puedes hacer una factura sin cliente. Saludos |
|
|
|