Página 1 de 1

oDbfDataSet1:seek

Publicado: Lun Dic 12, 2011 12:26 pm
por ncalderin
¿Como puedo hacer una búsqueda exacta en un campo indexado?
Utilizando el siguiente método y suponiendo que el valor del campo sea "manuel" y en el oEdit1 tecleo "m", el resultado de la búsqueda sale verdadera.
¿Qué puedo hacer para que lFound sea .t. solo cuando los valores sean exactos.
Quote:
METHOD Edit1Exit( oSender, oNextCtl ) CLASS TForm1
local lFound
IF ::oDbfDataSet1:seek ( ::oEdit1:Value, .t. )
MsgInfo( "Encontrado " + ::oEdit1:Value )
lFound := .t.
ELSE
MsgInfo("No existe" )
lFound := .f.
ENDIF
RETURN lFound

Gracias anticipadas,
Manuel

oDbfDataSet1:seek

Publicado: Lun Dic 12, 2011 12:49 pm
por ignacio
ncalderin escribió el lun, 12 diciembre 2011 12:26¿Como puedo hacer una búsqueda exacta en un campo indexado?
Utilizando el siguiente método y suponiendo que el valor del campo sea "manuel" y en el oEdit1 tecleo "m", el resultado de la búsqueda sale verdadera.
¿Qué puedo hacer para que lFound sea .t. solo cuando los valores sean exactos.
Quote:
METHOD Edit1Exit( oSender, oNextCtl ) CLASS TForm1
local lFound
IF ::oDbfDataSet1:seek ( ::oEdit1:Value, .t. )
MsgInfo( "Encontrado " + ::oEdit1:Value )
lFound := .t.
ELSE
MsgInfo("No existe" )
lFound := .f.
ENDIF
RETURN lFound

Gracias anticipadas,
Manuel

Lo más sencillo y lo que siempre se ha utilizado en el mundo xbase es rellenar con espacios la cadena a buscar, tantos como longitud tenga el campo.
Un saludo