No puedo eliminar datos

Hola estoy creando un sistema de ventas.
Tengo las tablas, formularios etc.
Cuando agrego datos no hay ningún problema. Cuando hago clic en mi botón eliminar me aparece el siguiente mensaje:
Program Error
Cannot update the cursor
Cancel Ignore Help
¿A qué se debe esto?
Aquí esta el código de mi PRG principal si es que te sirve de algo para que me puedas ayudar:
with _Screen
.BackColor = RGB(128,128,120)
.Caption = "Sistema de Gestion y Venta de Vehiculos"
.WindowState = 2
.controlbox=.f.
.maxbutton=.f.
.minbutton=.t.
endwith
set sysmenu off
SET TALK OFF
set century on
set date dmy
set path to C:\WINDOWS\Escritorio\empresa\datos
oPEN database Base
SET database to Base
set path to C:\WINDOWS\Escritorio\empresa\formu
Do Form inicio.scx
Read Events
Y aqui esta el codigo miboton ELIMINAR
set multilocks on
set exclusive on
select movimien
LOCAL resp
resp=0
IF reccount()>=1
GO register
resp=messagebox(" Desea eliminarlo", 1+32," Borrando registro")
IF resp=1
Delete
pack
=cursorsetprop("buffering",2)
=tableupdate(.t.)
IF reccount()=0
thisform.limpiar
ELSE
GO top
thisform.mostrar
ENDIF
ENDIF
ELSE
resp=messagebox(" no hay registros a eliminar", 0+48)
Endif
Thisform. Limpiar
Thisform.desactivarc
Thisform.activarb
ThisForm.Commandgroup1.primero.CLICK
Todo lo anterior lo tome de un ejemplo que si funciona.
Ya no se que hacer, todo esta igual en ambos programas excepto los campos por supuesto.
¿Qué pasa?, ¿Cuál es mi error?.
Please, help me.
Chau!

2 Respuestas

Respuesta
1
La ejecución del "pack" es el del problema pues estas abriendo los bloqueos múlplies,
Quítale esa linea del Pack, y si requieres eliminarlo completamente debes abrir la tabla en forma exclusiva.
En la siguiente linea:
=cursorsetprop("buffering",2)
ponle de parametro el 5, para que sea general:
=cursorsetprop("buffering",5)
Nota: si con esto no queda, mándame tus archivos, para que los analice y tepueda dar una solución, incluye:
-PRG principal
-Formulario
-Base de datos, con la tabla en cuestión.
[email protected]
Respuesta
1
El problema es que estás tratando de borrar un registro de una tabla que probablemente no esté abierta como "exclusive", intenta al inicio del proceso poner:
set deleted on
Y también no poner el comando "Pack"
Otra manera es que cuando abras la tabla la abras en modo exclusivo como de la siguiente forma:
Use tabla in 0 exclusive
Donde 0 es el área de trabajo que usará la tabla, luego solo la llamas de la siguiente forma:
se le 0
O también así:
Se le tabla
La misma ya estará abierta como exclusiva y no te dará error al tratar de hacer el pack.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas