Busqueda

Experto:
Usuario:
Fecha: 12/05/2008
Valoración: (5,00 sobre 5) Categoría: Visual Fox Pro
07/05/2008
perro_paglia, usuario preguntando en Visual Fox Pro
Usuario
Hola Victor nuevamente molestandote, necesito me ayudes a solucionar este comando de busqueda.
Tengo un ojeto Text y quiero escribir el codigo de un articulo y que me muestre la descripcion en otro text yo utilice estos comando en el evento lostfocus en el Valid tambien y no me muestra nada te lo describo:
public aliva
sele articulos
go top
set exact off
LOCATE FOR articulos.CODIGOINTERNO==thisform.text6codigoart.value
wait window articulo+transform(precio1,"999,.99")+codigointerno nowait
if !found()
STORE ARTICULO TO thisform.text7descripart.value
store precio1 to thisform.text8preciopub.value
store thisform.text9descuento.value to descuento
store alicuotaiva to aliva
 thisform.text6codigoart.enabled=.f.
 thisform.text7descripart.enabled=.f.
 thisform.command2.enabled=.f.
else
messagebox("El artículo no se encuentra",2+256+68,"Atención")
return .f.
endif
si podrias mandarme la sulucion agradeceria tu voluntad de ayudarme
un abrazo Fernando
07/05/2008
perro_paglia, experto respondiendo en Visual Fox Pro
Experto
bueno.. espero ayudarte.. vi algo en tu codigo.. y es que cuando aplicas el LOCATE...
FOUND() = .T. Si encuentra el registro.. por tanto la pregunta si lo encuentra es
IF FOUND() THEN ...
ya que al colocar !... estas aplicando una negacion... es decir que al preguntar
IF !FOUND() THEN .. estas preguntando si no lo encuentra...
y otra cosa importante... esque al validar campos de tipo caracter.. toman el tamaño completo del campo, es decir.. si el campo CODIGOINTERNO tienen un tamaño de 15 en la estructura de la tabla y el valor guardado solo tiene 10 APLICA EL RESTO EN ESPACIOS EN BLANCO.. por eso debes utilizar ALLTRIM(CODIGOINTERNO).. AL igual que con los text y lo comobos.. ESTO QUITA LOS ESPACIOS EN BLANCO  a la izquierda y derecha del texo..
entonces quedaria  la pregunta asi...
LOCATE FOR ALLTRIM(articulos.CODIGOINTERNO) == ALLTRIM(thisform.text6codigoart.VALUE)
 
12/05/2008
perro_paglia, usuario preguntando en Visual Fox Pro
Usuario
Exelente Victor, me solucionaste el problema y me sacaste dusas del comando IF ...Then.
Gracias por tu ayuda.
Un abrazo.
Fernando
Enlaces patrocinados