Hola nuevamente, les comentamos que el problema no viene exactamente de las conexiones, ya que hemos revisado cada una y están correctas. Creemos que es algo referido a sql o parte del código ejecutable.
A continuación, le damos la lista de los componentes que usamos:
Código Delphi
[-]
IBDataset_correlativas:para conectar con la tabla correlatividad por medio de un ibdatabase_sistema.
DataSource_Correlativas: conecta con el ibdataset_correlativas.
DataSource_cCorrelativas_regular_rendir: para conectar con el IBQuery_Correlativas_regular_rendir.
DataSource_Ccorrelativas_regular_cursar: conecta con IBQuery_Correlativas_Regular_cursar.
DataSource_Ccorrelativas_aprobada_rendir: conecta con IBQuery_Correlativas_Aprobada_rendir.
DataSource_Ccorrelativas_aprobada_cursar: conecta con IBQuery_Correlativas_Aprobada_Cursar.
En el formulario_correlativas, en el evento OnShow, tenemos que mostrar las correlatividades que tiene una materia seleccionada previamente. La idea es mostrar los registros de las correlatividades en 4 grillas:
DBGrid_cursar_regular
DBGrid_rendir_regular
DBGrid_cursar_aprobado
DBGrid_rendir_aprobado
Para ello, utilizamos el siguiente código:
begin
DM.IBQuery_Correlativas_Regular_cursar.SQL.Clear;
DM.IBQuery_Correlativas_Regular_cursar.SQL.Add('Select * from correlatividad where id_materia=:mat and TIPO=(CURSAR) and ESTADO_CORRELATIVIDAD=(REGULAR)');
dm.IBQuery_Correlativas_Regular_cursar.ParamByName('mat').AsInteger:=dm.IBQuery_materiaID_MATERIA.Va lue;
dm.IBQuery_Correlativas_Regular_cursar.Open;
DM.IBDataSet_Correlativas.Locate('id_CORR',DM.IBQuery_Correlativas_Regular_cursarID_CORR.Value,[]);
end;
begin
DM.IBQuery_Correlativas_regular_rendir.SQL.Clear;
DM.IBQuery_Correlativas_regular_rendir.SQL.Add('Select * from correlatividad where TIPO=RENDIR and estado_correlatividad=REGULAR');
dm.IBQuery_Correlativas_regular_rendir.Open;
DM.IBDataSet_Correlativas.Locate('id_CORR',DM.IBQuery_Correlativas_regular_rendirID_CORR.Value,[]);
end;
begin
DM.IBQuery_Correlativas_Aprobada_Cursar.SQL.Clear;
DM.IBQuery_Correlativas_Aprobada_Cursar.SQL.Add('Select * from correlatividad where TIPO=CURSAR and estado_correlatividad=APROBADA');
dm.IBQuery_Correlativas_Aprobada_Cursar.Open;
DM.IBDataSet_Correlativas.Locate('id_CORR',DM.IBQuery_Correlativas_Aprobada_CursarID_CORR.Value,[]);
end;
begin
DM.IBQuery_Correlativas_Aprobada_rendir.SQL.Clear;
DM.IBQuery_Correlativas_Aprobada_rendir.SQL.Add('Select * from correlatividad where TIPO=RENDIR and estado_correlatividad=APROBADA');
dm.IBQuery_Correlativas_Aprobada_rendir.Open;
DM.IBDataSet_Correlativas.Locate('id_CORR',DM.IBQuery_Correlativas_Aprobada_rendirID_CORR.Value,[]);
end;
Esperamos que puedan entender cuál es la situación, y desde ya lesdamos las gracias.
Saludos a todos.