Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-10-2003
Giniromero Giniromero is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid
Posts: 296
Poder: 22
Giniromero Va por buen camino
Unhappy problemas con un IBDataSet que depende de otro!!!

Hola a todos,

Continuo con mi aplicación en Delphi6 interbase 7 y dialecto sql 3.

en mi aplicación tengo un IBDataset, TbAlumnos, del que dependen en mayor o menor grado el resto de los IBDataSet.

Hay concretamente uno, que es el TbAnotaALU que tiene varios registros por cada Alumno.

Necesito que cada vez que se cambie el registro que se esté mostrando del TbAlumnos, también se cambie, en un DBGrid que tengo asociado a TbAnotaAlu, los registros relacionados con dicho alumno, Vamos, que pase a mostrar los del nuevo alumno activo.


Si a TbAnotaALU, en la propiedad DataSource, lo relacionamos con TbAlumnos me muestra todos los registros de la tabla.

Si no lo relaciono con TbAlumnos en la propiedad DataSource, y al abrir, guardar, Cancelar en el TbAlumnos, ejecuto este procedure:


procedure TFrmDModule.TbAnotaALUInicial(DataSet: TDataSet);
var str : String;
begin
TRY
TbAnotaALU.DisableControls;
TbAnotaALU.Close;
TbAnotaALU.SelectSQL.Clear;
TbAnotaALU.SelectSQL.Add(select CODIGO, NUMALU, NIC, TIPO, FECHA, DESCRIPCION from ANOTA);
IF (TbAlumnos.Active = True) and (not TbAlumnosNUMALU.IsNull) THEN BEGIN

TbAnotaALU.SelectSQL.Add('Where NUMALU =' + TbAlumnosNUMALU.AsString);
TbAnotaALU.SelectSQL.Add('Order by NUMALU, FECHA');
END;

try
TbAnotaALU.Open;
except
on E: Exception do begin
//guardamos en variable "str" el mensaje que queremos se muestre
str := 'Error abriendo TbAnotaALU con el mensaje : ' + E.Message;
Application.MessageBox(PChar(str), 'Atención', MB_OK);
end;
end;

FINALLY
TbAnotaALU.EnableControls;
END;


end;



Se situa siempre en el registro 0, por tanto, esté en el alumno que esté, me muestra SÓLO los registros para el alumno 0.

¿Alguna idea de lo que estoy haciendo mal?

¿alguna idea de como conectar estas dos tablas, para que me muestre los registros que necesito?

Muchas gracias

Virginia
__________________
Sonrie al mundo, y el mundo te sonreirá :)

Última edición por Giniromero fecha: 03-10-2003 a las 15:15:15.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 04:14:39.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi