Como borrar registros desde un grid

Ojala me puedas ayudar en esto.. Mira tengo una tabla EMPLEADOS y la veo cargándola en un grid.. Ahora.. Quiero borrar toda una fila.. Y comencé a utilizar este código..
SET DELETE ON
SELECT empleados
IF 6 = MESSAGEBOX("Se va a dar de baja el cliente, ESTA SEGURO?",4+32,"Atención")
Thisform.grid1.RecordSource = ""
DELETE
SELECT * FROM empleados INTO CURSOR curs1 READWRITE
Thisform.grid1.RecordSource = "curs1"
Thisform. Refresh
Endif
Pero como veras.. Mi código no funciona.. No borra el registro que yo seleccione en el grid, pero desde ahí tengo dudas.. Ojala me puedas orientar un poco..

1 Respuesta

Respuesta
1
ps si lo queres eliminar de una ves de la tabla tenes que hacer lo siguiente
creo que la tabla empreados tiene un campo llave o es decir un campo unico, entonces lo que haces es
delete from empleados where campo_primario = cursor_Del_grid.campo_primario
y eso es todo ...
Disculpame.. no me di a entender bien.. no quiero borrar toda la tabla.. solo 1 o 2 registros... pero la verdad no se que argumentos le tenga que poner a DELETE para que se borren los registros que yo estoy seleccionando en el grid.. por ejemplo... se crea el grid .. yo pincho una fila.. y aprieto el botón eliminar..
Dentro del evento CLICK de ese botón.. esta el código de arriba.. y entonces quiero hacer que ese código borre solo la fila que yo había seleccionado y no toda la tabla.. no estoy usando el comando PACK porque no quiero eliminarlos de porvida.. solo quiero que se "oculten" para que el SELECT no pueda encontrarlos.. perdón por mi inexperiencia.. pero de verdad no se como hacerlo..
Por eso amigo ... lo que tienes que hacer es lo siguiente,...
primero tienes un cursor que le metes al grid c
por ejemplo select campo1,campo2,campo from tablaprueba into cursor paragrid
thisform.grid1.recordsource = 'paragrid'
en el evento click del boton o lo que quieres tienes que hacer esto
delete from tablaprueba where campo1 = paragrid.campo1 and campo2 = paragrid.campo2 and campo3 = paragrid.campo3
esto elimina el regisstro de donde estas ubicado en el grid, es decir si seleccionas el 3 registro en el grid eliminar el 3er registro en la tabla ... y no es que borre todo, solo borra el registro que le tas indicando...
Suerte sino te queda claro comenta nuevamente ...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas