Ver Mensaje Individual
  #1  
Antiguo 05-07-2008
GuerreroDelphi GuerreroDelphi is offline
Miembro
 
Registrado: ago 2007
Ubicación: Bogotá - Colombia
Posts: 24
Reputación: 0
GuerreroDelphi Va por buen camino
Delphi 2007 - Maestro detalle TIBDataSet+TDataSetProvider+TClientDataSet

Hola, amigos del foro:
Busco la corrección a un problema que no he podido solucionar de ninguna manera.
Tengo una aplicación en Delphi 5, y en ella manejo una relación maestro detalle con componentes IBExpress, para acceso a FireBird 2.1, así
DtsMaestro --> TIBDataSet
PrvMaestro --> TDataSetProvider
CdsMaestro --> TClientDataSet
DscMaestro --> TDataSource

DtsDetalle --> TIBDataSet
PrvDetalle --> TDataSetProvider
CdsDetalle --> TClientDataSet

DtsMaestro.SELECTSql.Text:= 'SELECT * FROM DOCUMENTOS'
DtsDetalle.SELECTSql.Text:= 'SELECT * FROM DOCUMENTOSDETALLE'

En tiempo de diseño, establezco la relación maestro-detalle sobre los componentes TClientDataSet, de la siguiente manera:
CdsDetalle.MasterSource = DscMaestro
CdsDetalle.MasterFields = 'Indice' (que es el campo llave primaria en la tabla DOCUMENTOS)
CdsDetalle.IndexFieldNames = 'DocumentoIndice' (campo que liga con la llave primaria 'Indice' del maestro)
... y todo funciona correctamente.

El inconveniente se presenta ahora, que he actualizado a Delphi 2007: cuando intento abrir el CdsDetalle, me arroja el error 'Field "DOCUMENTOINDICE" not found, aún cuando todo está bien parametrizado.
Haciendo otras pruebas, he notado que tengo este problema, sólo cuando utilizo TIBDataSet, porque si uso, por ejemplo TIBTable, funciona perfecto.
¿Cómo soluciono esto? ¿Existen problemas con el componente TIBDataSet incluido en Delphi 2007?
Agradezco a quien me pueda colaborar.
Responder Con Cita