FoxPro/Visual FoxPro - ELIMINAR REGISTRO DE UNA TABLA

   
Vista:

ELIMINAR REGISTRO DE UNA TABLA

Publicado por Edin (75 intervenciones) el 28/11/2007 23:07:54
Hola a todos, he hecho un programa para almacenar datos, uso unicamente una "tabla simple" para ir gurdando los registros, en mi programa hice una rutina para que elimine los registros especificos de la tabla, todo fucniona bien, despues que compilo el programa a ejecutable, este corre de maravilla, agrego registros nuevos, modifico lo registros existentes... etc, pero cuado ejecuto la rutina para que me elimine el registro que he especificado me da el siguiente error: "File must be opened exclusively", el codigo que utilicé es el siguiente:

codelim=UPPER(Thisformset.Form5.Text1.Value)
LOCATE FOR codelim=codigo
Eliminar= MESSAGEBOX("Realmente desea eliminar el registro: "+alltrim(codelim)+" "+ALLTRIM(producto),289,"Eliminar")
IF Eliminar=1
DELETE
PACK
ENDIF

aprovechando, tambien hice un reporte simple (con el reporteador de Fox) para imprimir los registros almacenados, lo previsualizo bien con el unico incoveniente que cuando se abre el reporte se queda dentro del "Form", ¿Cómo hago para que el reporte sea una ventana independiente?, Gracias, saludos....
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:ELIMINAR REGISTRO DE UNA TABLA

Publicado por enrique (1041 intervenciones) el 28/11/2007 23:32:43
el tema esta en el PACK, para ejecutar esta instruccion debes abrir la tabla en exclusivo.

en el boton donde llamas al reporte pon lo siguiente

THISFORM.HIDE

REPORT FORM ............

THISFORM.SHOW
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:ELIMINAR REGISTRO DE UNA TABLA

Publicado por Mario (49 intervenciones) el 29/11/2007 11:23:28
PACK elimina los registros marcados como borrados pero necesita que abras la tabla en exclusivo

USE tabla EXCLUSIVE

Otra posibilidad es marcar los registros como borrados con DELETE y no realizar PACK. Deberás incluir SET DELETED ON para que los registros marcados como borrados no te vuelvan a aparecer.

Un saludo.
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