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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-12-2004
zerelho zerelho is offline
Miembro
 
Registrado: mar 2004
Posts: 28
Poder: 0
zerelho Va por buen camino
Unhappy Simular una relación maestro-detalle

Antes de nada haber, perdón si no me explico correctamente...

Tengo una clase ventana con 2 datasource (FuenteMaestros y FuenteDetalles) para visualizar las relaciones maestro detalle (con los datos del maestro, una barra de navegación para los maestros y una rejilla para los detalles), el problema es que como necesitro filtrar los registros detalles y permitir la ordenación por diferentes campos, pues no puedo utilizar un relación master-detail implicita entre los dataset... la forma que utilizo para simular la relación es mediante un filtro en la tabla detalles y lo voy cambiando en el evento OnDataChange del DataSource "FuenteMaestro" preguntando si el dataset se encuentra en estado "dsBrowse"... os muestro el código del metodo
Código Delphi [-]
 
 
procedure TWndExploracionMD.FuenteMaestroDataChange(Sender: TObject; Field: TField);
begin
// Solo contemplamos los cambios de posicion, no las inserciones ni ediciones ni estados especiales
If (FuenteMaestro.DataSet.State=dsBrowse) Then
Begin
...
...
// Actualizamos los filtros
If Not FuenteMaestro.DataSet.IsEmpty Then
    Begin
    FiltroMaestro:=getFiltroMaestroActual;
    ActivarFiltroLineas()
    End
Else
    Begin
    // TODO: Cuando la fuente maestro está vacia, utilizar un filtro nulo
    // FuenteDetalles.Dataset.Filter:= FILTRO NULO
    End;
...
...
End;
end;

La verdad es que lo de la simulación de la relación maestro-detalle de esta forma me esta dando muchisimos problemas, pero no sé o por lo menos no se me ocurre otra forma de hacerlo, existe alguna solución mejor? cuando no quiero que pase ningun registro un filtro determinado, cual deberia ser este? existe alguno del tipo Filter:='FALSE' o algo parecido?

Estoy trabajando con una BD en Access y accedo a ella mediante ADO.

Última edición por zerelho fecha: 06-12-2004 a las 04:00:24.
Responder Con Cita
Respuesta



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 01:01:21.


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