![]() |
saber el form
Que tal foro...
Tengo algunas tablas que son facturas, Ordenes y Clientes... tengo los dos fromularios para facturas y Ordenes, ademas de un formulario para la consulta de los Clientes. Mi duda es como saber cual de los 2 formularios (Facturas, Ordenes) hizo la llamda al formulario de consulta para signar el registro buscado a uno de los dos formularios. Gracias. |
Hola, lo que podrías hacer es declarar en el formulario de clientes alguna propiedad que sirva como flag, entonces antes de llamarlo, el formulario que lo invoque podría escribir su nombre en dicha propiedad, de este modo "Clientes" sólo debe revisar esa propiedad para saber que hacer. Saludos.
|
Hola, mi propuesta va en sentido contrario. En lugar de que la ventana de clientes sea la encargada de asignar el valor seleccionado al formulario que la llamó mejor deja que dicho formulario tome el valor de la ventana de clientes.
A mi me gusta hacer la analogía con un FileOpenDialog. El cuadro de diálogo no tiene ni idea de quién lo llama- de hecho se programó mucho antes de que nosostros hicéramos uso de él. Su labor en la vida es dejar que el usuario seleccione un archivo cuyo nombre "deja" en su propiedad FileName. De esta manera, a cualquier formulario que haga uso de este diálogo le bastará tomar esta propiedad y asignarla como mejor le convenga. La misma situación ocurre aquí. Muy posiblemente tu formulario de clientes lo uses para que el usuario seleccione uno a fin de introducirlo en una orden o una factura. En lugar de que este formulario de clientes se encargue de la asignación, haz que "deje" al cliente seleccionado (posiblemente su id o campo que uses como llave primaria) en una propiedad pública:
En el evento OnCloseQuery del formulario determinas si el usuario aceptó o canceló la selección. En caso de que haya aceptado, colocas en ClienteId el id del cliente seleccionado. Así, por ejemplo, el formulario de facturas simplemente haría algo como:
Y lo mismo haría el formulario de órdenes o cualquier otro formulario que en el futuro requiere el uso de la ventana de clientes. De esta manera logras que la ventna de clientes sea independiente de los formularios que la llaman y por tanto "a salvo" de cualquier cambio que en un momento dado tengas que hacer en estos formularios (por ejemplo, si cambias el lugar donde se "pone" al cliente en el formulario de facturas, tendrás que cambiar el código del formulario de clientes) y cuando requieras colocar un nuevo formulario que requiera la selección de un cliente no tendrás que tocar el código de éste. // Saludos |
Cita:
---------- |
Cita:
Cita:
// Saludos |
Gracias compañero
Roman...!
me sirvio tu propuesta para un poryecto que tengo en marcha!!!! no pense en este paradigma... es muy bueno... Nos vemos.... P.S. ya extrañaba estar de vuelta por estos lugares... (estaba en un trabajo haciendo parche sobre parche en VB con SQL Server.... que cosas se ven hoy en dia.... a rotomar el rumbo) |
La franja horaria es GMT +2. Ahora son las 09:20:42. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi