este es el código.
Si me funciona bien, solo quiero saber si hay una forma mas práctica, sin tanto código, tal vez un set relation uno a mucho, no sé.
Por su atención muchas gracias de antemano.
Code: Select all
//Elimina alumno
Procedure elim_Al()
sele alumnos
alumnos->(DBSETORDER(1))
cCodigo := ValorDeColumna1( "Grid_1" , "Bus_alum" , 1 )
if cCodigo==""
MsgBox("Elija una alumno" + cCodigo)
Return nil
endif
alumnos->(DBSeek( cCodigo,.T. ))
// ------- a partir de aquí es mi duda ------
If MsgYesNo ("¿Está seguro?")
delete //----- Borro el alumno ----
pack
MsgBox( "Alumno con No. de lista "+ cCodigo + "Borrado")
//---------Ahora borro todos los registros que tienen el mismo id -----
sele lista
lista->(DBGOTOP())
set filter to lista->alum_id=cCodigo
lista->(DBGOTOP())
do while .not. lista->(Eof())
delete
pack
lista->(DBSkip())
enddo
set filter to
//--------------
EndIf
llenAlum2()
Return nil