Datos alfanuméricos

Hola, estoy haciendo una búsqueda en mi base de datos en la cual mi indice esta nombrado como carácter, al hacer la búsqueda los datos los capturo con seek alltrim(thisform.text1.value), pero si busco algún carácter ej: 5, 4, A, 5423, AL. Y algún registro de mi base de datos comienza con este carácter me lo valida como si lo encontrara sin importar el resto de los caracteres ej:55423101, AN-2358,5423TR4, AL236548, me gustaría me dieras alguna solución.
Muchas gracias

1 Respuesta

Respuesta
1
Si el contenido del textbox es "5" y hay códigos por ejemplo; "55", "504", etc. estoy seguro que no los encuentra.
Lo que puede estar sucediendo es que tengas SET NEAR en ON, entonces, lo que pasa es que se para en el primero más parecido a tu búsqueda.
Supongamos que el campo indexado es "Codigo"
Sería así:
set order to codigo
seek alltrim(thisform.textbox.value)
if found()
  wait 'entontro' window
else
  wait 'no lo encontro' window
Endif
Con esto lo podes probar.
Ahora, si tienes SET NEAR ON lo que pasa es que no se va al EOF del archivo (al final) sino que se queda en el dato parecido a la búsqueda.
Siempre proba que encuentre el dato con la función FOUND() y no con EOF() por las dudas.
Para probar las dos alternativas, que son útiles dependiendo el caso, agrega SET NEAR ON o SET NEAR OFF antes del comando seek.
Un abrazo
Hola muchas gracias por tu pronta respuesta, hice lo que me dijiste al pie de la letra pero no me funciono me sigue con: si el contenido del textbox es "5" y hay códigos por ejemplo; "55", "504" me los toma como válidos, leí un poco y encontré esta función SET EXACT ON, no la he podido probar pero me gustaría que tu me guiaras si puede ser valida para mi tipo de problema.
Muchas gracias
Claro, yo supuse que estaba en on dado que casi nunca se usa en off
Al principio de tu programa te conviene tener set exact on para que el valor verdadero de la comparación de dos cadenas sea siempre si es exacto.
Estamos en contacto
Christian

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas