¿Cómo puedo eliminar los registros de una tabla desde una consulta o un query con visual fox pro?

Hola hola javier aquí de nuevo preguntándote .
Mi pregunta es como puedo eliminar los registros de una tabla desde una consutal o un query
tengo un grid donde reflejo concidencias que encuentro
y quiero que el usuario marque los registros en el grid que desee eliminar
pero no me permite marcarlos por que en el grid se esta mostrando una tabla de consulta .
Si pongo la tabla original si me permite marcarlos y eliminarlos .
Pero quisiera saber si hay una técnica para que el usuario pueda marcar esos registros en el grid y al darle en el botón eliminar se eliminen y se eliminen en la tabla original
espero haberme explicado saludos .

1 Respuesta

Respuesta
1
Es sencillo, para lograr que el cursor o query sea solo lectura agregale el parámetro READWRITE al final de la consulta SELECT.
Eso es posible desde Visual Fox 8.0 en caso de que uses una version anterior te puedo pasar una función que convierte los cursores de Solo lectura a lectura y excritura.
Que tal javier ya me permite seleccionar el registro desde el cursor
pero me marca error
la operacion no es valida para el cursor
IF !EMPTY(thisform.combo1.Value) .and. thisform.optiongroup1.option2.Value = 1
qry="SELECT fecha, nombre, cantidad, n_cheque, concepto FROM 'c:\Radio Formula\Tablas\Rcheques_banamex.dbf' WHERE MONTH(fecha) = "+STR(thisform.combo1.listitemid)+" INTO CURSOR reporte ORDER BY fecha READWRITE"
&qry
thisform.rchequesgrid
ENDIF
esto tengo en el interactivechange de un combobox
y en el boton eliminar cuando selecciona el usurio el boton tengo
do case
CASE thisform.optiongroup1.option2.Value = 1 .and. !EMPTY(thisform.combo1.Value)
SELECT Reporte
IF RECNO() > 0
Eliminar = MESSAGEBOX("Desea Eliminar el REGISTRO ? ",33," Aviso")
IF Eliminar = 1
SET SAFETY OFF
PACK
ELSE
MESSAGEBOX("Seleccione el Registro a ELIMINAR", 0," Aviso")
Endif
Endif
Endcase
El error me lo muestra en pack
Tenés que usar el comando DELETE en lugar del Pack.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas