FoxPro/Visual FoxPro - Porke no pasa todos los registros?

 
Vista:

Porke no pasa todos los registros?

Publicado por Sergio (79 intervenciones) el 24/06/2001 07:19:28
hola

SELECT * FROM DFACTUR WHERE NUMDOC=doca INTO TABLE TMPFOX

UPDATE ARTICULO SET EXISTENCIA=EXISTENCIA+TMPFOX.CANTIDAD, ENTRADAS=ENTRADAS+TMPFOX.CANTIDAD WHERE CODIGO=TMPFOX.CODIGO

mi pregunta es porke al hacer el update no se actualizan todos los registros en los cuales coincidan el codigo, solo se esta actualizando el primer registro y el resto ni los toca.


Muchas Gracias

Sergio
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:Porke no pasa todos los registros?

Publicado por JoseFco (31 intervenciones) el 24/06/2001 19:25:43
Amigo no se actyualizan los registros , porque el puntero de la primer consulta siempre que da en el primer registro para que puedan actualizarse puedes utilizar un ciclo ...

SELECT * FROM DFACTUR WHERE NUMDOC=doca INTO TABLE TMPFOX
DO While not eof("tmpFox")
UPDATE ARTICULO SET EXISTENCIA=EXISTENCIA+TMPFOX.CANTIDAD, ENTRADAS=ENTRADAS+TMPFOX.CANTIDAD WHERE CODIGO=TMPFOX.CODIGO
Selecteof("tmpFox")
Skip 1
Enddo

Algo así como esto... aunque también puedes usar una consulta compuesta
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:Porke no pasa todos los registros?

Publicado por Raúl Godoy (110 intervenciones) el 25/06/2001 01:10:25
Creo que te conviene usar algo como esto:

SELECT ARTICULO
REPLACE EXISTENCIA WITH (EXISTENCIA+TMPFOX.CANTIDAD), ENTRADAS WITH (ENTRADAS+TMPFOX.CANTIDAD) ALL

el comando barre toda la tabla, si esto no funciona yo probaría de hacer un ciclo.
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