wflorest
04-12-2013, 23:51:46
Ante todo buenas tardes a todos los miembros.
Hoy les presento un comportamiento extraño al usar ClientDataSet y dentro de ellos campos LookUp.
En la imagen adjunta podrán observar lo que sucede
También he subido el código fuente con la base de datos en access.
Ahora les explicaré la estructura de la base de datos:
- Tengo 5 tablas:
1.- Pais
2.- Departamento
3.- Provincia
4.- Distrito
5.- Empresa
Las 4 primeras guardan información de cada pais y sus respectivos departamentos, provincias, distritos
Donde:
- Departamento tiene como parámetro al campo <PaisId> el cual maneja la relación con la tabla "Pais"
- Provincia tiene como parámetros a los campos <PaisId> y <DepaId> los cuales manejan la relación con la tabla "Departamento"
- Distrito tiene como parámetros a los campos <PaisId>, <DepaId> y <ProviId> los cuales manejan la relación con la tabla "Provincia"
La 5ta. Tabla es la empresa donde se guardan los campos de cada una de las tablas:
<PaisId>, <DepaId>, <ProviId> y <DistriId>
Bien el manejo de los ClientDataSet es el típico Maestro Detalle, pero en este caso y como pueden observar la relación es diferente ya que empieza de la siguiente manera
Tabla master: Pais
Tabla Detalle: Departamento
Tabla master: Departamento
Tabla Detalle: Provincia
Tabla master: Provincia
Tabla Detalle: Distrito
En el código que adjunto podrán observar como es que se ha configurado:
1.- Los Query's
2.- Los ClientDatSet
Cabe destacar que el ejemplo lo hice con Delphi XE3 base de datos Access y los componentes utilizados son los que trae FireDac TADConnection y TADQuery respectivamente.
También debo mencionar que lo mismo lo realicé en Delphi XE5 y en este existe un caso aun mas extraño.
Espero alguien pueda ayudarme a resolver dicho problema.
Gracias
Hoy les presento un comportamiento extraño al usar ClientDataSet y dentro de ellos campos LookUp.
En la imagen adjunta podrán observar lo que sucede
También he subido el código fuente con la base de datos en access.
Ahora les explicaré la estructura de la base de datos:
- Tengo 5 tablas:
1.- Pais
2.- Departamento
3.- Provincia
4.- Distrito
5.- Empresa
Las 4 primeras guardan información de cada pais y sus respectivos departamentos, provincias, distritos
Donde:
- Departamento tiene como parámetro al campo <PaisId> el cual maneja la relación con la tabla "Pais"
- Provincia tiene como parámetros a los campos <PaisId> y <DepaId> los cuales manejan la relación con la tabla "Departamento"
- Distrito tiene como parámetros a los campos <PaisId>, <DepaId> y <ProviId> los cuales manejan la relación con la tabla "Provincia"
La 5ta. Tabla es la empresa donde se guardan los campos de cada una de las tablas:
<PaisId>, <DepaId>, <ProviId> y <DistriId>
Bien el manejo de los ClientDataSet es el típico Maestro Detalle, pero en este caso y como pueden observar la relación es diferente ya que empieza de la siguiente manera
Tabla master: Pais
Tabla Detalle: Departamento
Tabla master: Departamento
Tabla Detalle: Provincia
Tabla master: Provincia
Tabla Detalle: Distrito
En el código que adjunto podrán observar como es que se ha configurado:
1.- Los Query's
2.- Los ClientDatSet
Cabe destacar que el ejemplo lo hice con Delphi XE3 base de datos Access y los componentes utilizados son los que trae FireDac TADConnection y TADQuery respectivamente.
También debo mencionar que lo mismo lo realicé en Delphi XE5 y en este existe un caso aun mas extraño.
Espero alguien pueda ayudarme a resolver dicho problema.
Gracias