FoxPro/Visual FoxPro - AUXILIO (TABLEUPDATE)

   
Vista:

AUXILIO (TABLEUPDATE)

Publicado por Gisell Andrea  (1 intervención) el 02/01/2008 02:42:33
Hola chicos, soy nueva en el foro

tengo una aplicacion hecha en vfp7, y necesito trabajar con los bufferes.

Aqui unos de mis problemas

tengo un formulario y en el LOAD abro las areas de trabajos (tablas) que voy a utilizar, el problema es que cuando voy a guardar la venta; se requiere de un consecutivo, una tabla detalle, y una tabla principal; SON 3 TABLAS QUE DEBO MODIFICAR para guardar un registro

En un procedimiento que llame guardar tengo algo asi:

*********************************
BEGIN TRANSATION
do prgbuscaconsecutivo with 'venta'

INSERT INTO PRINVENTA(NROFAC)VALUES(consecutivo)

SELECT &TEMDETALLE
DO WHILE !EOF()
DO prginserdetll WITH consecutivo,&TEMDETALLE->precio,&TEMDETALLE->valor
SELECT &TEMDETALLE
SKIP + 1
ENDDO

???????????????????????
???????????????????????

END TRANSATION
************************

*******************prginserdetll
PARAMETERS prnrofact,prprecio,prvalor
do prgbuscaconsecutivo with 'deta'
INSERT INTO DETALLE (cod,NROFAC,PRE,VALR)VALUES(consecutivo,prnrofact,prprecio,prvalor)
*********************************

***********prgbuscaconsecutivo
PARAMETERS patipo
public consecutivo
use condat shared
LOCATE FOR ALLTRIM(TIPO)==ALLTRIM(patipo)
IF FOUND()
LOCK(_REGIS,'_CONSECUTIVOS') && BLOQUEA CON EXITO
CONSECUTIVO=condat ->sig
UPDATE condat SIG = SIG WHERE ALLTRIM(TIPO)==ALLTRIM'venta')
UNLOCK IN _CONSECUTIVOS
ENDIF
**********************************

El codigo que puse anterior/ nose como validar si la informacion quedo guardada o no, investigue y me dice que para utilizar el TABLEUPDATE tengo que colocar un BUFFERING por fuera del BEGIN pero no se como o en donde ubicar el buffer si en el load o como seria.

y CHICOS DISCULPEN

Gracias por leer
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:AUXILIO (TABLEUPDATE)

Publicado por Plinio (7771 intervenciones) el 02/01/2008 17:07:15
Si abre las tablas en el LOAD (yo prefiero el Data Environment, es mas facil de manejar) debes usar la funcion CURSORSETPROP(), ve a la ayuda para obtener mas datos
ejemplo
CURSORSETPROP("Buffering",3,'tutabla')

Nota: si vas a trabajar con buffering tomar en cuenta SET MULTILOCK ON en tu programa principal
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