FoxPro/Visual FoxPro - BORRAR REGISTROS

 
Vista:

BORRAR REGISTROS

Publicado por kelvin (16 intervenciones) el 07/08/2007 20:27:45
aMIGOS TENGO UN BOTON Q NECESITO Q CUMPLA LA FUNCION DE BORRAR REGISTROS Q TENGO ALMACENADO EN UNA TABLA TENGO EL SIGUIENTE CODIGO:

Select alumnos
DELETE NEXT 1
PACK
Go top
IF EOF()
endif

Y TAMBIEN ESTE:

delete
pack
Thisform.refresh

PERO NINGUNO DE LOS 2 ME FUNCIONAN SI ME PUEDEN AYUDAR SE LOS AGRADECERIA.
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 REGISTROS

Publicado por enrique (1041 intervenciones) el 07/08/2007 20:32:21
Select alumnos
DELETE
PACK
Go top
IF EOF()
endif

para ejecutar el pack debes tener la tabla ALUMNOS como exclusivo
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 REGISTROS

Publicado por kelvin (16 intervenciones) el 07/08/2007 20:45:11
ENRIQUE DISCULPA MIS POCOS CONOCIMIENTOS PERO COMO HAGO ESO OSEA COMO PONGO LA TABLA EN MODO EXCLUSIVO XQ ES EL EL ERROR QUE ME DAN CON LOS OTROS CODIGOS..
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 REGISTROS

Publicado por enrique (1041 intervenciones) el 07/08/2007 20:53:29
use NombreArchivo exclusive
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 REGISTROS

Publicado por neo (1604 intervenciones) el 07/08/2007 21:08:17
Ese codigo es un ejemplo de algun boton de borrar?? o tu lo escribiste??

Ya que para borrar como dice Enrique hay que abrir de modo exclusivo y recuerda reindizar la tabla de nuevo.

Suerte►

Note;
Por ahí tengo algunas rutinas para borrar datos en un formulario....si lo deseas te los hago llegar.
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 REGISTROS

Publicado por kelvin (16 intervenciones) el 07/08/2007 21:47:02
Amigos aun no he podido borrar mis registros de las tablas he usado varios codigos pero nada aqui les muestro algunos:

Select alumnos
DELETE
use alumnos exclusive
PACK
Go top
IF EOF()
endif

delete
pack
thisform.refresh (con este me decia abrir de modo exclusivo y le agregue esto antes del pack "use alumnos exclusive")

tambien use una sentecia sql y nada aun no puedo borar los registros de la tabla desde mi boton eliminar ubicado en mi formulario.. Si me pueden ayudar se los agradezco ya q es lo que me falta para terminar mi sistema...
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 REGISTROS

Publicado por Hector R. De los Santos (270 intervenciones) el 07/08/2007 22:30:40
Lo que pasa es que estas seleccionando la tabla con un SELECT luego haces el DELETE luego el USE EXCLUSIVE, debes hacerlo asi:
USE alumnos EXCLUSIVE
DELETE
PACK
GoTop
If EOF()
ENDIF

DELETE
PACK
THISFORM.REFRESH
-> Suegerencia: Tener el SET DELETE ON para omitir los registros marcados para eliminar.
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

RE:BORRAR REGISTROS

Publicado por kelvin (16 intervenciones) el 07/08/2007 22:44:11
Buenas tardes Hector sabes use tus codigos

USE alumnos EXCLUSIVE
DELETE
PACK
GoTop
If EOF()
ENDIF

DELETE
PACK
THISFORM.REFRESH

pero me dice que la tabla ya esta en uso y le doy a suspender y el error me lo marca en el DELETE si el delete lo coloco como un comentario con un asterisco me vuelve a dar el error pero en este caso en el pack si coloco ambos como comentario no me da error pero no borrar los registros ya q el delete q selecciona el campo y el pack q es el q borrar definitivamente estan como comentarios y porsupuesto no los toma como codigos.
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 REGISTROS

Publicado por Ernesto Hernandez (4623 intervenciones) el 08/08/2007 20:03:56
Esta clase intenta realizar un pack a una tabla, es útil cuando se esta trabajando en ambiente de multiusuarios, la forma de utilizar es simple.

Se agrega la clase al formulario, la clase tiene una propiedad llamada "Tabla" en la cual le especificamos la tabla sobre la cual queremos trabajar y para realizar un pack solamente llamamos el método Do_Pack(), por ejemplo:

SET SAFETY OFF
THISFORM.Table_Pack.Tabla = "Clientes"
THISFORM.Table_Pack.Do_Pack()

IF THISFORM.Table_Pack.Zap
WAIT WINDOW "Realizo un ZAP a la tabla"
ELSE
WAIT WINDOW "Realizo un DELETE ALL a la tabla"
ENDIF

Esta clase el libre, por lo cual no me hago responsable de daños que pudiese ocasionar.

NOTA: La clase CIERRA la tabla, la intenta abrir de modo exclusivo, si tiene éxito entonces realiza un PACK de lo contrario, realiza un DELETE ALL y deja la tabla CERRADA.
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 REGISTROS

Publicado por Plinio (7841 intervenciones) el 07/08/2007 22:49:59
Varios puntos que debes de tomar en cuenta
1- Nunca uses dentro del sistema el PACK. este es un comando que exige que tu solamente tenga la tabla abierta; que puede ser peligroso si por ejemplo a la tabla que le das el pack da algun error y le haces el pack a la tabla activa; consume muchos recursos, ya que el borrar copia de nuevo la tabla (imaginate una tabla con millones de registros)

2- Quita el PACK y usando SET DELETE ON no se te muestran los registros borrados.

3- Crea un proyecto aparte de tu aplicacion, donde tengas varios programas utilitarios (backup, "Restore", arreglar indices, enpaquetar bases de datos y ejeuctar el PACK, asi puedes hacer un pack mensual o cada cierto tiempo que desees, cuando ningun usuario este en el sistema.

4- En tu codigo ya buscate el registro que deseas borrar?
yo lo haria algo asi
SELECT alumnos
SET ORDER TO indice
SEEK thisform.txtcodigo.value
IF FOUND()
IF messagebox('Desea Eliminar Registro',4+16,'Pregunta')= 6 &&Dijo que si
DELETE
ENDIF

ENDIF
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 REGISTROS

Publicado por neo (1604 intervenciones) el 08/08/2007 15:20:07
Definitivamente de acuerdo con Plinio....Siempre es mucho mejor un "Delete " y tu periódicamente realiza con el "Pack" el borrado de los registros.

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

RE:BORRAR REGISTROS

Publicado por Ernesto Hernandez (4623 intervenciones) el 08/08/2007 19:59:56
PACK muy peligroso para incluirse dentro de un sistema
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