PDA

Ver la Versión Completa : Poblema al consultar!!


magnu9
08-11-2006, 15:45:11
Un Saludo cordial, a la hora de crear un form(self), osea llamo desde mi mantenimiento de cliente una consulta, tengo un boton para consultar con el cual cree la form de consulta, si coloco el codcliente bien cierro dicha ventana y lo consulta, hasta ahi bien. pero teniendo un grib en ese form de consulta como a medida que escriba en los dbedit mi grib haga la consulta tambien. Osea una consulta recursiva. O bueno diganme si mi idea de hacer el sql al dbEdit estarìa bien.

oscarnoe
08-11-2006, 16:15:53
Hola magnu9, no acabo de enter del post.

Quieres el un segundo form (edicion de cliente) informe de cambios en la base de datos al primer form (lista de clientes)?
Si es asi podrias crear una clase base para los forms que accedan a la base de datos con una propiedades (como conexion, tabla, campoClave,etc) y metodos definidos a tal efecto ( notificarCambio (conexion, tabla, campoclave, IndexKeyActual) ), y cada vez que se produzca un cambio mandar un mensaje a todos los forms abiertos y estos a su vez filtrar el mensaje segun les convenga o no.

Esto es una aproximacion a lo que entendi. Puede que haya algun metodo, evento o forma mas sencilla de hacerlo, esperemos que algun maestro nos lea.

Espero que te sirva de ayuda.

Oscar Noe

magnu9
08-11-2006, 18:29:29
Sabes ya pude hacerlo un poco diferente a los que dices, aunque suena muy interesante. Oye Oscar es algo que me he pregunta, como crear un formulario base, como cosita o visual fox pro. Cada mantenimiento que he creado inicio desde cero, osea elijo un nuevo form, luego un compenente de coneccion ADO, Adotable, etc. asi en cada uno. Mi pregunta es como crear uno que sea la clase o base para ejemplo clase mantenimiento.

oscarnoe
08-11-2006, 22:01:46
A que te refieres con ..., como cosita o visual fox pro.

... Una forma seria crear el formulario base con la tabla y todos los controles que vayas a necesitar y las acciones basicas. Despues heredas de ese formulario para todos los ABM(Alta.Baja.Modificacion) que hagan referencia a ese tipo de registro. De esta forma tendras el codigo separado en formularios distintos un para cada. Para heredar de un formulario, en el menu de Delphi:

File->New->Other...->Pestaña con el nombre del proyecto.


Donde tienes todos los formularios de proyecto de los que puedes heredar.

P.ej.: Formulario padre TfrmClientes y los formularios hijos TfrmClientes_Alta, TfrmClientes_Baja, TfrmClientes_Modificación.

... Otra seria crear crear el formulario en si y tener una propiedad de solo lectura de tipo set (abmAlta, abmBaja, abmModificacion) y fijarla al crear el form. A partir de ahi en cada accion y/o evento y segun lo necesites con un case puedes controlar que hacer con los controles dependiendo de como y para que se creo el form.

Por cierto, :rolleyes: te recomiendo dejar el AdoTable de lado y pasarte a los AdoQuery. Posiblemente sera mas codigo, pero ganas en velocidad de ejecucion.

P.D.: ahora que me fijo en el post que he hecho, releido el hilo completo, y pasadas 3 horas, me doy cuenta de que me he ido por las ramas y esta implementacion que te sugiero no seria la primera que te sugeri... pero vamos ambas se complementan.

Espero que te sirva de ayuda.

Oscar Noe.