Página 1 de 1

SEEK desde un campo de una BD

Publicado: Jue Dic 22, 2011 1:45 pm
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

SEEK desde un campo de una BD

Publicado: Jue Dic 22, 2011 4:30 pm
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

SEEK desde un campo de una BD

Publicado: Jue Dic 22, 2011 6:19 pm
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

SEEK desde un campo de una BD

Publicado: Jue Dic 22, 2011 7:52 pm
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