In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

SEEK desde un campo de una BD

Foro de Xailer profesional en español
Responder
ncalderin
Mensajes: 10
Registrado: Lun Dic 27, 2010 5:58 pm

SEEK desde un campo de una BD

Mensaje por ncalderin »

Con el siguiente método, y desde un control TEdit puedo buscar cualquier registro indexado de una BD. Es decir: Sin salir del TEdit me permite localizar el registro a cada pulsación de tecla.
METHOD Edit2Change( oSender ) CLASS TForm1
::oDbfDataSet2:OrdSetFocus( "Dia_ref" )
IF ::oDbfDataSet2:Seek( ::oEdit2:Value )

RETURN Nil
La pregunta es: ¿Que evento debo utilizar para hacerlo desde un campo de una segunda BD, evitando el uso del TEdit?
Gracias por sus respuestas.
Saludos,
Manuel
Avatar de Usuario
xhermita
Mensajes: 177
Registrado: Vie Feb 18, 2011 10:05 pm
Ubicación: Las Palmas de Gran Canaria
Contactar:

SEEK desde un campo de una BD

Mensaje por xhermita »

No se si he captado bien la pregunta, pero vamos a intentarlo.
Los datos de la segunda BD supongo que estarán visibles en algún control
(Tlistbox, TComboBox, TDBBrowse, etc..), por lo que tienes que controlar
es el evento en ese control, por ejemplo el OnChange en un TListBox.
Un saludo
Pedro Amaro
El 22/12/2011 12:45, Manuel escribió:
> Con el siguiente método, y desde un control TEdit puedo
> buscar cualquier registro indexado de una BD. Es decir: Sin
> salir del TEdit me permite localizar el registro a cada
> pulsación de tecla.
>
> METHOD Edit2Change( oSender ) CLASS TForm1
> ::oDbfDataSet2:OrdSetFocus( "Dia_ref" )
> IF ::oDbfDataSet2:Seek( ::oEdit2:Value )
> RETURN Nil
>
> La pregunta es: ¿Que evento debo utilizar para hacerlo
> desde un campo de una segunda BD, evitando el uso del TEdit?
>
>
> Gracias por sus respuestas.
>
> Saludos,
> Manuel
Pedro Amaro
2PC Service

Xailer / Néfele / MySQL-MariaDB / SQLServer
ncalderin
Mensajes: 10
Registrado: Lun Dic 27, 2010 5:58 pm

SEEK desde un campo de una BD

Mensaje por ncalderin »

Los datos están visibles dentro de un TDBBrowse. El problema que el TDBBfDataSet no tiene el evento OnChange.
Gracias Pedro por contestar.
Saludos,
Manuel
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9458
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

SEEK desde un campo de una BD

Mensaje por ignacio »

ncalderin escribió el jue, 22 diciembre 2011 18:19Los datos están visibles dentro de un TDBBrowse. El problema que el TDBBfDataSet no tiene el evento OnChange.
Gracias Pedro por contestar.
Saludos,
Manuel
Manuel:
La clase TDBFDataset hereda de TDataset y por tanto tiene todos los eventos de él, por ejemplo:
OnAddNew, OnCancel, OnClose, OnCreate, OnEdit, OnOpen, OnPostChange, OnPostClose, OnPostDelete, OnPostOpen, OnPostSave, OnPreChange, OnPreDelete y OnUpdate
No obstante, te recomiendo que uses sencillamente este método que hereda de TBrowse:
TBrowse:OnChange()
Ten en cuenta que el segundo parámetro del este evento es el que te indica realmente si se ha cambiado el registro activo.
Un saludo
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Responder