joseluisysturiz wrote:José Ríos wrote:Buen dia.
Siguiendo con muis pruebas en tdophin me encontre con un caso en que el metodo seek con datos numericos no encuentra numeros de mas de un digito.
Por ejemplo si tengo dados de alta los registros:
Numero Nombre
1 A
3 B
11 C
Y hago el siguiente query y despues 3 busquedas seek cobre el query
- Code: Select all Expand view
DEFINE QUERY oQry "SELECT * FROM vendedores order by numero"
// y despues despues hago la siguientes busquedas:
If oQry:seek(2, 'Numero' ) > 0
msginfo('encontrado')
else
msginfo('no encontrado')
endif
If oQry:seek(1, 'Numero' ) > 0
msginfo('encontrado')
else
msginfo('no encontrado')
endif
If oQry:seek(11, 'Numero' ) > 0
msginfo('encontrado')
else
msginfo('no encontrado')
endif
En los dos primeros casos (numero =1 y numero=2 ), el resultado de la busqueda es exitoso, pero cuando numero=11 el registro no es encontrado.
Haciendo pruebas con find el resultado de la busqueda para numero=11 es correcto.
¿Esto significa que seek no debe usarse con campos numericos?.
Saludos.
Jose Rios.
Saludos, me habia pasado algo parecido, yo llenaba los datos manualmente a la tabla y a veces no los encontraba, es como si la tabla se embasura, prueba limpiar la tabla o cambiar el 1 o el 2 por el valor 11, ya que si te acepto el 1 y el 2, debe aceptarte el 11 ya que todos los valores son numericos, igualmente las busqueda las hago es con el valor en una VAR, intentalo de esta manera a ver..
nNum := 11
IF oQry:SEEK(nNum, "numero") = 0
.....
saludos...