FoxPro/Visual FoxPro - Mi atasco más concreto

 
Vista:

Mi atasco más concreto

Publicado por GLAD (34 intervenciones) el 04/07/2007 19:15:07
Pues eso, que sigo atascado. Me explico nuevamente:

Tabla producto color precio (procolpre.dbf)

grid filtrado por campo color

Color rojo:

Producto Precio

camisa 5

Pantalon 4

El precio lo puedo cambiar en el grid.

replace procolpre.precio with thisform.grid1.column2.text1.value
tableupdate(.t.)

Hasta aquí sin problema.

Ahora, tengo otra tabla que quiero actualizar con esos mismos datos de precio; se trata de una tabla general de productos en la que tengo pantalon, camisa, calcetines, camisetas,(prodgen.dbf) etc y hago lo siguiente:

select prodgen
replace prodgen.precio with thisform.grid1.column2.text1.value for producto=thisform.grid1.column1.text1.value

tableupdate(.t.)

Y aquí tengo el problema.

Ahora abro la tabla prodgen y veo que solo me ha reemplazado para camisa con su precio correcto y no para pantalón, al que, por así decirlo, ni mira.

¿tengo que avanzar el grid para cambiar los valores siguientes?

¿dónde me estoy equivocando?

Gracias y un saludo.
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
sin imagen de perfil

RE:Mi atasco más concreto

Publicado por neo (1604 intervenciones) el 04/07/2007 20:04:42
Puedes usar las funciones "Locate" o "Set Filter" y dependiendo de los datos que estes usando, estas funciones te ayuden a reemplazar alguna actualizacion de datos.

Suerte►

Note;
Si deseas una rutina, necesitaría saber qué objetos utilizas en la busqueda y además qué objetos utilizas para mostrar los datos. (Cómo está diseñado el form)
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:Mi atasco más concreto

Publicado por Plinio (7841 intervenciones) el 04/07/2007 20:04:52
El grid representa el contenido de una tabla o cursor. Si te mueves en la tabla o cursor (de la cual depende el grid) eso es los valore que obtines

SELEC tabla_grid
GO TOP
do while !eof()
select prodgen

xcampo= tabla_grid.campo
xproducto= tabla_grid.producto

select prodgen
GO TOP
replace prodgen.precio with xcampo
for producto=xproducto

SELEC tabla_grid
SKIP
enddo
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:Mi atasco más concreto

Publicado por GLAD (34 intervenciones) el 04/07/2007 20:58:30
Por fin desatascado. Gracias Neo por el ofrecimiento.

Plinio, perfecto. Me has hecho ver claramente que mi error venía de estar intentando trabajar haciendo referencia directamente al grid, en lugar de ir a las tablas, compararlas, y sustituir los valores que quería.

Ahora el report al que hacia referencia en una pregunta anterior corre perfectamente ya que solo trabaja con un cursor.

Lo dicho, saludos y muchas gracias a todos.
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