FoxPro/Visual FoxPro - no encuentro el error(rutina)

 
Vista:

no encuentro el error(rutina)

Publicado por Hugo (20 intervenciones) el 29/10/2002 04:28:43
*****
select producto
set order to tag codrubro

thisform.optiongroup1.enabled=.f.
a=thisform.text1.value
b=rubro.codrubro
c=val(thisform.text2.value )
y=recno()

DO WHILE .T. && Comienza el bucle
IF EOF( )
cMessageTitle = 'Actualización de Precios'
cMessageText = 'Actualizacion terminada'
nDialogType = 0 + 48 + 0
z = MESSAGEBOX(cMessageText, nDialogType, cMessageTitle)
if z = 1
go y
select rubro
set order to tag codrubro
thisform.refresh
exit
endif

ENDIF
&&******************************************
IF a=b and thisform.optiongroup1.value=1
h=(producto.precio*c)/100+producto.precio
replace producto.precio with h

SKIP
LOOP
ENDIF
&&******************************************
IF a=b and thisform.optiongroup1.value=2
*select producto
*set order to tag codrubro
h=producto.precio-(producto.precio*c)/100
replace producto.precio with h
SKIP
LOOP
ENDIF
SKIP
ENDDO && Termina el bucle
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:no encuentro el error(rutina)

Publicado por upliftmofopartyplan (265 intervenciones) el 29/10/2002 15:54:42
deberías haber explicado brevemente cual es el error, ya que sintacticamente parace estar bien, casi todo!!
lo que se ve es que según la opción le agregas o le quitas un porcentaje al precio.
si este código es textual al que usas, un error es el IF de la opción:
IF a=b and thisform.optiongroup1.value=2 debería ser
IF a=b and thisform.optiongroup1.OPTION1.value=1
el último skip me parece que está demás.
pruébalo.

saludos uplift
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

Ahora si!!

Publicado por upliftmofopartyplan (265 intervenciones) el 29/10/2002 16:22:05
Leí tu nota anterior, igual no entiendo nada...jajaja!!
a ver... lo que haces es ingresar un rubro, y actualizar los precios de los productos.
lo que no entiendo es el B=rubro.codrubro
no debería ser B=producto.codrubro ???, ya que supongo que en la tabla producto debes tener el campo codrubro para relacionarlas
otra cosa, el hecho que te actualice desde un determinado lugar hacia adelante se debe al GO Y, ya que Y puede tener cualquier valor.
antes de ingresar a bucle, deberías hacer un GO TOP
Prueba:

select producto
set order to tag codrubro

a=valorporteclado
b=producto.codrubro
c=val(thisform.text2.value )
y=recno()
go top
DO WHILE .NOT. EOF() && Comienza el bucle
&&******************************************
IF a=b and thisform.optiongroup1.option1.value=1
h=(producto.precio*c)/100+producto.precio
replace producto.precio with h
SKIP
LOOP
ENDIF
&&******************************************
IF a=b and thisform.optiongroup1.option2.value=1
h=producto.precio-(producto.precio*c)/100
replace producto.precio with h
SKIP
LOOP
ENDIF
enddo
esto haría que si un producto tiene el rubro que se ingresa, se modifique

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