FoxPro/Visual FoxPro - Borrar registro de tabla almacenamiento en buffer

 
Vista:

Borrar registro de tabla almacenamiento en buffer

Publicado por Carlos M. Aguila (7 intervenciones) el 05/12/2006 14:32:03
Estimados amigos

Tengo una tabla con almacenamiento en buffer 5 (optimista), pero al querer eliminar un registro ni siquiera marca los registro para eliminar. A continuación les muestro mi código de mi botón ELIMINAR para que me indiquen donde estoy fallando (Evento click del boton)

lOperacionExitosa=CURSORSETPROP("Buffering",5,'tbPreciosEspeciales') * Ver comentario

DELETE FROM tbPreciosEspeciales WHERE cCodigoArticulo=Codigoarticulo;
AND nRutCliente=thisform.idCliente

BEGIN TRANSACTION * Ver comentario
IF TABLEUPDATE(0,.F.,'tbPreciosEspeciales')=.T.
END TRANSACTION
SELECT tbPreciosEspeciales
PACK
USE
ELSE
=AERROR(aErrorArray)
ROLLBACK
=MESSAGEBOX("Ha ocurrido un error eliminando el registro,";
+ CHR(13)+ "En la tabla PRECIOS ESPECIALES. Error" +STR(aErrorArray);
+ CHR(13)+ "Su ingreso ha sido descartado!",16,"Información")
ENDIF

Este es el código que tengo pero no marca los registros para eliminar.

* Ver comentario= Si elimino este fragmento de código y elimino con DELETE FROM funciona correctamente.
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:Borrar registro de tabla almacenamiento en buff

Publicado por sergio (737 intervenciones) el 05/12/2006 15:56:24
* no hace los cambios efectuados
=TABLEREVERT(.T.,"tabla")
&& Los cambios no son grabados en la Tabla

** realiza los cambiops efectuados
&& ESTA GRABA LOS CAMBIOS
=TABLEUPDATE(.T.,"Customer")

&& DESACTIVA EL AMACENAMIENTO EN BUFFERS
=CURSORSETPROP("Buffering",1,"Customer")
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:Borrar registro de tabla almacenamiento en buff

Publicado por Carlos M. Aguila (7 intervenciones) el 05/12/2006 16:02:52
El problema que al guardar un registro, estos ya tienen incorporado el =tableUpdate por lo tanto el registro se encuentra en la tabla.

El problema sucede al leer un registro y querer eliminarlo desde la tabla.

Saludos
marcelo
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:Borrar registro de tabla almacenamiento en buff

Publicado por jorge (423 intervenciones) el 05/12/2006 16:44:59
Hola, no sera por que si se cumple haces un PACK y los registros marcados para eliminacion se borran fisicamente del archivo?....
checa ese pack dentro de tu codigo ...
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:Borrar registro de tabla almacenamiento en buff

Publicado por Carlos Marcelo Aguila (7 intervenciones) el 05/12/2006 18:54:37
No, porque si elimino esa instrucción (PACK), el registro debería quedar con la marca para eliminar y eso no sucede, simplemente no realiza nada.

Saludos.
Marcelo
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
sin imagen de perfil

RE:Borrar registro de tabla almacenamiento en buff

Publicado por Ernesto Hernandez (4623 intervenciones) el 06/12/2006 01:23:23
REvisa el SET MULTILOCK ....


Suerte
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