¿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
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.
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.
oDbfDataSet1:seek
- ignacio
- Site Admin
- Mensajes: 9457
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
oDbfDataSet1:seek
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
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
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com