Consulta SQL ó Campo Lookup??
Hola a todos!
Tengo un campo en una tabla IB/FB que es clave foránea de otra tabla, mi duda es q no sé si es mejor usar un Query o un dataset específico para calcular el valor del campo (es decir, en el Select del dataset sólo pido los campos clave y la descripción del campo). El programa me comprueba si existe el valor introducido por el usuario (la clave foránea) y si no, abre la pantalla de mantenimiento para crearlo. Admito cualquier propuesta. Ejemplo: si el usuario introduce un 1 en el edit 'Centro de Coste', el programa mostraría el nombre de el centro de coste con código 1 ó si no existe, pregunta al usuario si desea crearlo. Saludos. |
En mi caso en particular hago un query contra la BD que devuelva los campos que necesito.
Esto lo hago así porque no enlazo el control a un datasource y sólo muestro el resultado en un TEdit aislado. Hasta el momento me ha dado buenos resultados y me parece bastante práctico. Tal vez la opinión de alguien más nos abra los horizontes, saludos :) |
Buenas,
Vamos a ver si he entendido... :confused: Tenemos dos tablas, una maestro y otra referencial... debo suponer que la referencial no tiene muchos registros. Ahora, se quiere mostrar la primera tabla con sus campos mas algun valor de un campo de otra tabla :p Si utilizo un "join/where" con el primer IBQuery1(maestro) para enlazar con el segundo IBQuery2(referencial), el IBQuery1 ya no es actualizable y no podras utilizar el componente IBUpdateSQL para tus actualizaciones. "Tenga Ud. presente que si una consulta está construida por mas de una tabla esta consulta ya no es actualizable -*no tan cierto*- podrias crear TRIGGER's para estas actualiciones, tambien podria ser en lado del cliente trabajando con los eventos de actualizacion, borrado..." uff todo un lio para algo tan chiquito :D ( ojo esto lo leí, no lo he practicado ) ;) Como tu lo has dicho, creo que utilizar el "lookup" utilizando el componente DBQuery es una buena forma y de esa forma tu IBQuery1 sera actualizable. Espero ayude Your Friend StartKill :cool: Lima-Perú |
La franja horaria es GMT +2. Ahora son las 10:32:07. |
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