FoxPro/Visual FoxPro - falla en la busqueda

   
Vista:

falla en la busqueda

Publicado por Ramoncito (81 intervenciones) el 10/03/2009 03:36:19
Hola buenas noches... tengo un pequeño problemita con una tabla que esta inexada por un campo llamado codebar.tipo caracer.. ademas un text1 cCode tambien caracter..

paso el codigo de barras en el text1... y en el Evento LostFocus... del mismo llama a un boton Command1.. para buscar registro.... . mi codigo es este...

evento losfocus del text1.
Thisform.Command1.Click

Evento click del Command1.
Select Articulos
set order to Codebar
go top
Locate for Alltr(codebar)=Alltri(cCode)
If Found()
Sele Ventas
append blank
RLock() &&Bloquear REgistro
Replace cant with x, precio with xx, total with total
Esto... lo otro y etc.
UnLock &&Desbloq. reg.
Else
MessageBox('El Articulo Es inexistente')
Endif

el problama que tengo es que si escribo el codigo 001.... me dice que es;
PALETA TUTSU POP y cuesta $ 2.50 y tengo 92

al Escribir el codigo 0018 ... me dice lo mismo que es PALETA TUTSI POP..con el mismo precio y existencia. ....Le doy un browse al la tabla.. desde vfp y no aparece el codigo 001 solo existe el 0018...

como le hago para solucionar el problema...??
Saludos....Gracias A todos
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:falla en la busqueda

Publicado por kong (681 intervenciones) el 10/03/2009 09:42:44
es preferible hacer la busqueda con SEEK, pero si insites con LOCATE, podrias usar una de estas dos opciones:

Locate for Alltr(codebar)==Alltri(cCode) && con 2 signos de igual

o poner SET EXACT ON antes de la busqueda
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:falla en la busqueda

Publicado por Ramoncito (81 intervenciones) el 10/03/2009 17:35:46
Hola buenos dias... Muchas Gracias Amigo...

Ya le agregue.. el == entre el campo y la variable... y le puse en el Load del form..
SET EXACT ON... y ya esta funcionando bien....

Me comentas que deberia usar el comando SEEK pero no tengo ni la menor idea como usarlo aqui en VFP... yo lo usaba en clipper... asi...

get VarDato picture '@!'
read
USE DATOS INDEX ON ArchivoIndex && NTX
DbReindex() &Reindexa la Tabla
Seek(VarDato) &&qui busca
If eof() &&Si Llega al final es que no existe...
No Existe
Else
Si Existe.... &&No llega al final Si existe...
Endif
Return...

Pero si me puedes explicar como usarlo en VFP o me pasar algun link donde me informe sobre este comando...??

Saludos.. y nuevamente gracias..
RAMONCITO...
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
Imágen de perfil de Mauricio

Falla en la busqueda

Publicado por Mauricio (1368 intervenciones) el 10/03/2009 13:09:38
Revisa que si la busqueda es por ALLT(), tambien asi lo debes haber definido en la tabla, da la impresion que no es asi, por lo tanto al hacer la busqueda se posiciona en el siguente mas cerca del buscado que en este caso es el codigo 0018......
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:Falla en la busqueda

Publicado por HELDER MARTINEZ (COUNDY)  (710 intervenciones) el 10/03/2009 22:10:04
SEEK EN VFP;

select tabla
go top
seek alltrim(cVariable) order tag campo
if found()
messabed ñldlsalas
else
dshdssdsdsd
endif

saludes amigo
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