Borrar datos de tabla

Hola, tengo un cursor que me carga los datos a un formulario y ahi agregue un boton para eliminar la informacion con la siguiente linea de comando
SET EXCLUSIVE ON
SET DELETE ON
DELETE FROM DATOS WHERE DATOS.doc = thisform.textdoc.Value
el problema que tengo es que no me borra los datos unicamente me los marca, si le agrego el comando Pack me dice LA OPERACION NO ES VALIDAD PARA EL OBJETO CURSOR, y lo curioso es que el cursor lo utilizo unicamente para hacer el comparativo para poder borrar el documento.
Hice una prueba realizando un formulario en el cual ingresaba el numero de documento a borrar y luego con la misma linea de comando me lo borro, ahora no entiendo porque en uno me funciona y en otro no, he tratado de buscarle solución pero no lo he logrado por esta razón acudo a tus conocimientos para ver si puedes ayudarme
gracias
Mishel

1 Respuesta

Respuesta
1
Debe ser porque el pack se ejecuta sobre la base que esta abierta actualmente en tu caso al hacer el delete from no significa que esa sea la tabla activa porque la que esta activa es el cursor y sobre ese no puedes hacer pack, ahora tampoco es tan recomendable usar pack en su caso puedes usar el set deleted on para que así al visualizar no te muestre los campos marcados para eliminar con el delete
Perdona pero entonces como puedo eliminar estos datos marcados, porque el objetivo es borrar y luego ingresar otro documento con este mismo correlativo, es como hacer un update del registro.
Bueno pues lo que tendrías que hacer es que después del delete from selecciones la tabla por ejemplo select datos y luego si hagas el pack
¿Ahora me genera el error que dice DEBE ABRIR EL ARCHIVO EN MODO EXCLUSIVO pero le agregue el set exclusive on que estará pasando?
En algún lugar del form me imagino abres la tabla de esta manera USE DATOS IN 0 o algo por el estilo y si es así en esa instrucción debes aumentar el exclusive osea USE DATOS IN 0 EXCLUSIVE
Fíjate que en ningún momento utilizo el comando use en el el formulario
De pronto la abre con el entorno de datos y si es así ahí también tiene una propiedad que es exclusive y debe ponerla en .t.
Ya me funciono gracias, ahora solo con una ultima consulta, al final tengo que agregar el comando
SET EXCLUSIVE OF
o lo lo dejo solo con set exclusive on
Creo que eso no influye en mucho pero con todo mejor dejalo en set exclusive off, suerte en todo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas