problemas con filtrado
Publicado por indistint (16 intervenciones) el 12/06/2007 11:28:24
aki va mi codigo y ahora os explico lo que kiero hacer y no se como:
con esto intento actualizar los precios de los distintos articulos cuyo codigo se encuentra de forma incompleta en otra tabla, pero solo tengo el precio de los articulos base y necesito actualizar tambien los articulos extra cuyo codigo es igual al del articulo base mas unos caracteres finales, por eso necesito filtrar todos los articulos que tengan ese codigo base y actualizar su precio
contador=0
select importada
go top
do while !eof()
if prov.inc==.t.
busca=trim((prov.cod))+trim(substr(importada.a, 1, 8)) &&variable
&& que almacena el codigo a buscar
else
busca=trim(prov.cod)+trim(importada.a)
endif
&&precio nuevo
select d from importada where a=substr(busca, 5, 10) into cursor prenu
&&precio antiguo
select precostd from articulo where codart=busca into cursor preant
incremento=val(prenu.d) /preant.precostd &&calculo del incremento del precio
select articulo
set order to codart
seek busca &&si el articulo existe en la tabla articulo
if found()
&&actualizacion de los precios
update articulo set premedcos=premedcos*incremento, precostd=articulo.precostd*incremento, preultcom=articulo.preultcom*incremento, prevena=articulo.prevena*incremento, prevenb=articulo.prevenb*incremento, prevenc=articulo.prevenc*incremento, prevend=articulo.prevend*incremento, prevene=articulo.prevene*incremento where articulo.codart=busca
contador=contador+1
endif
select importada
skip
enddo
messagebox(+str(contador)+" registros actualizados")
kiero filtrar los articulos que tengan el codigo almacenado en busca y actualizar su precio
con esto intento actualizar los precios de los distintos articulos cuyo codigo se encuentra de forma incompleta en otra tabla, pero solo tengo el precio de los articulos base y necesito actualizar tambien los articulos extra cuyo codigo es igual al del articulo base mas unos caracteres finales, por eso necesito filtrar todos los articulos que tengan ese codigo base y actualizar su precio
contador=0
select importada
go top
do while !eof()
if prov.inc==.t.
busca=trim((prov.cod))+trim(substr(importada.a, 1, 8)) &&variable
&& que almacena el codigo a buscar
else
busca=trim(prov.cod)+trim(importada.a)
endif
&&precio nuevo
select d from importada where a=substr(busca, 5, 10) into cursor prenu
&&precio antiguo
select precostd from articulo where codart=busca into cursor preant
incremento=val(prenu.d) /preant.precostd &&calculo del incremento del precio
select articulo
set order to codart
seek busca &&si el articulo existe en la tabla articulo
if found()
&&actualizacion de los precios
update articulo set premedcos=premedcos*incremento, precostd=articulo.precostd*incremento, preultcom=articulo.preultcom*incremento, prevena=articulo.prevena*incremento, prevenb=articulo.prevenb*incremento, prevenc=articulo.prevenc*incremento, prevend=articulo.prevend*incremento, prevene=articulo.prevene*incremento where articulo.codart=busca
contador=contador+1
endif
select importada
skip
enddo
messagebox(+str(contador)+" registros actualizados")
kiero filtrar los articulos que tengan el codigo almacenado en busca y actualizar su precio
Valora esta pregunta


0