Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Conexion entre campos de distintas tablas (https://www.clubdelphi.com/foros/showthread.php?t=51213)

eudy.net 09-12-2007 05:11:44

Conexion entre campos de distintas tablas
 
Hola que tal soy yo de nuevo :o,

Estoy haciendo mi programa (que por cierto como que me está haciendo preguntar mucho jjaja) y tengo un enorme problema:

Tengo dos tablas, una llamada Tconductor y otra llamada Tpermisos ambas tablas tienen un campo en común llamado Licencia y están en la misma base de datos ( mi BD está hecha en SQL 2000), lo que quiero es que a la hora de llenar el campo Licencia en la tabla Tpermisos me dé un mensaje de error en caso de que esa licencia no exista en la tabla Tconductor, y que a la vez no me deje seguir llenando dicha tabla (Tpermisos).

Y en caso de que la licencia se encuentre en la tabla Tconductor, me haga una serie de enlace, me explico, en el formulario de permisos tengo una pequeña especie de preview de la tabla Tconductor, lo que quiero es que si la licencia coincide, en dicho preview me ponga los datos concernientes a el conductor que posee esa licencia.

Espero que me hayan entendido, en caso contrario haganmelo saber para ver si les aclaro un poco más, gracias anticipadas

Se despide,

eudy.net



waly2k1 09-12-2007 06:53:36

Rta. sencilla
 
Esto podrías hacerlo directamente relacionando las tablas en SQL Server, pero el error te daría recién al intentar guardar

La otra es generar licencia en TPermisos a partir de un registro de la tabla TConductor. O sea, si estás parado sobre un registro de TConductor, ofrecer la opcion de cargar, sino no.

De manera tal que estás por ej en un DBGrid de Conductores, te habilite la opción de cargar en la tabla TPermisos, se entiende ?

Salu2 y exitos en tu proyecto

eudy.net 09-12-2007 07:02:45

Ehh, otra ayudita??
 
Muchas gracias Wally pero en verdad no entendí nada de nada :confused:

Espero que mi pregunta haya sido clara, quiero realizar eso sin tener que modificar la estructura de la base de datos, osea 100% codigos delphi, he visto personas haciendolo, solo que no me acuerdo :mad:

waly2k1 09-12-2007 07:36:56

+Claro
 
hum a ver como explicarte mejor...
te propongo que cargues la tabla TPermisos a partir de un conductor, o sea si el usuario selecciona un conductor recien pueda cargar el permiso. De esta manera estas seguro que exista el campo licencia cargado.

Con lo cual sugiero que en un Form tengas un DBGrid o algún otro componente que te permita seleccionar el conductor y a partir de ahí cargar permiso. Sugiero un DBGrid ya que te permite visualizar todos los campos de conductores, o al menos los mas relevantes.

No deberías permitir siquiera intentar cargar un registro si no guarda relación con la otra tabla.

Sino otra opcion sería que al salir del campo Licencia de tu carga actual (Evento exit), busques mediante locate si existe esa licencia, sino avisas y cancelas la operación. Pero esto es mas engorroso, ya que el usuario se toma la molestia de pasar de ventana en ventana para que despues el sistema lo rechaze, hum... Así no te compro el software!!! hehe

Espero me entiendas y no dudes en preguntar.


La franja horaria es GMT +2. Ahora son las 14:23:26.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi