Muchas Gracias Bicho voy a revisar como me dijiste para borrar todos los querys que tengo y hacer pruebas con esos 2 cambios que me dijste y al rato te dij si ya con eso me funciono..
Con respecto a la forma como tengo organizado el programa..
Tengo la forma de validacion de usuario de contrasena, la forma principal, el datamodulo y las demas formas... la forma que ahortia tiene que usar y que te digo que cuando ya quieren trabajar con el programa estan utilizando mas es esta:
este es su evento formactivate
Código Delphi
[-]
procedure TFidio121.FormActivate(Sender: TObject);
var ciclob,tam:string;
begin
DModulo.TAlumnos.Active:=true;
DModulo.TAlumnosCurso.Active:=true;
DModulo.TMaterias.Active:=true;
DModulo.THorario.Active:=true;
DBMatricula.Text:='';
DBAPaterno.Text:='';
DBAMaterno.Text:='';
DBNombre.Text:='';
DBFechaNac.Text:='';
DBSexo.Text:='';
DBEstadoCivil.Text:='';
DBCategoria.Text:='';
DBEmail.Text:='';
DBTelefono.Text:='';
DBEstudios.Text:='';
DModulo.QBuscar40.Active:=false;
DModulo.QBuscar40.SQL.Clear;
DModulo.QBuscar40.SQL.Text:='SELECT * from periodos where vigencia=:vig';
DModulo.QBuscar40.Parameters.ParamByName('vig').Value:=1;
DModulo.QBuscar40.Active:=true;
DModulo.QBuscar40.ExecSQL;
DBPeriodo.DataSource:=DModulo.DSBuscar40;
DBIdperiodo.DataSource:=DModulo.DSBuscar40;
ciclob:=separaciclo(DBPeriodo.text);
DModulo.QBuscar41.Active:=false;
DModulo.QBuscar41.SQL.Clear;
DModulo.QBuscar41.SQL.Text:='select * from ciclo where ciclo=:cic';
DModulo.QBuscar41.Parameters.ParamByName('cic').Value:=ciclob;
DModulo.QBuscar41.Active:=true;
DModulo.QBuscar41.ExecSQL;
DBDEs.DataSource:=DModulo.dsbuscar41;
tam:= separaperiodo(DBPeriodo.text);
DES_Periodo.text:=DBDES.text + ' ' + tam;
end;
y este el evento close
procedure TFidio121.FormClose(Sender: TObject; var Action: TCloseAction);
begin
DModulo.TAlumnos.Active:=false;
DModulo.TAlumnosCurso.Active:=false;
DModulo.TMaterias.Active:=false;
DModulo.THorario.Active:=false;
end;
como les comente arriba trabaja muy lento en el lugar donde lo van a utilizar pero en el lugar donde se hace pruebas esta mas agil.