FoxPro/Visual FoxPro - problema seek()

 
Vista:

problema seek()

Publicado por jose (42 intervenciones) el 31/10/2003 00:05:57
Hola

Mi problema es que yo quiero hacer una busqueda en mi tabla tomando como referencia dos campos de la misma, lo primero que hago es indexar mi tabla de la siguiente manera

select tabla
index on campo1 + campo 2 tag inom_tabla
order to tag inom_tabla

despues utilizo el seek para busqueda asignando a unas variables de datos introducidos por el usuario.
var1= dato1
var2 = dato2
If seek(var1 + var2) tambien probe seek(var1) and seek( var2)
accion1
else
accion2
endif

el problema es que me arroja verdadero solo el primer dato el segundo me lo da como falso y nunca entra al if si mi indice lo invierto a
index on campo2 + campo1 tag inom_tabla me da verdadero con var2 y en var 1 me da falso,

que puedo hacer por su ayuda gracias

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problema seek()

Publicado por israel (60 intervenciones) el 31/10/2003 00:27:18
saludos

hazlo de la siguiente manera

select tabla
index on alltrim(campo1) +alltrim(campo2) tag inom_tabla
order to tag inom_tabla

y despues

var1= altrim(dato1)
var2 = alltrim(dato2 )
If seek(var1 + var2)
accion1
else
accion2
endif


Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema seek()

Publicado por Williams Vidal (85 intervenciones) el 31/10/2003 00:52:07
Hola Jose:

Mira si esas variables las obtienes por medio de un Textbox, tienes que tener en cuenta que ese Textbox, debe de tener la misma longuitud que tu campo, porque de lo contrario nunca te lo va a ubicar con el SEEk.

Ejem si tu campo1 y campo2 tienen 10 caracters, y tu textbox es diferente, eh ahi el problema.
Espero sea eso.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema seek()

Publicado por Williams Vidal (85 intervenciones) el 31/10/2003 00:53:08
Hola Jose:

Mira si esas variables las obtienes por medio de un Textbox, tienes que tener en cuenta que ese Textbox, debe de tener la misma longuitud que tu campo, porque de lo contrario nunca te lo va a ubicar con el SEEk.

Ponle mascara de ingresos

Ejem si tu campo1 y campo2 tienen 10 caracters, y tu textbox es diferente, eh ahi el problema.
Espero sea eso.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema seek()

Publicado por carlos lott (298 intervenciones) el 31/10/2003 15:29:29
Hola...
con Respecto a los comentario que te hacen los dos compañeros es valido, solo que anexo esta instrucción para q te evites el probelma de longitud de caracteres.

Especifica las reglas que utiliza Visual FoxPro al comparar dos cadenas de diferente longitud.

SET EXACT ON | OFF
Parámetros
ON
Especifica que las expresiones deben coincidir carácter a carácter para que se consideren equivalentes. La comparación pasa por alto los espacios en blanco finales que puedan existir en las expresiones. Para la comparación, la más corta de las dos expresiones se rellena por la derecha con espacios en blanco hasta igualar la longitud de la expresión más larga.
OFF
(Predeterminado) Especifica que, para que se consideren equivalentes, las expresiones deben coincidir carácter a carácter hasta llegar al final de la expresión del lado derecho.

Saludos

Carlos Lott
Maracay-Venezuela
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar