Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-10-2007
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 23
José Luis Garcí Va camino a la fama
Post crear maestro/detalle en IBExperts y pasarlo a delphi

Hola a todos compañeros, mi primera duda es la siguiente, creo los dominios en IBExperts, creo las tablas y sus indices primarios( en algunas), luego paso a la pestaña mestro/detalle (traduccion muy libre) y me dice que no esta creada una especiee de vinculación con otra tabla, paso al menu a relacionar visualmente los campos de las tablas, y los cmpos que quiero que aparezcan, y de resultado me da la visión de la tabla completa no en forma maestro/detalle, que es lo que quiero.

La segunda, es como se hace para pasarlo a mi delphi 6, se hacerlo con tablas paradox, pero ni idea con firebird.

Gracias de antemano por vuestra ayuda.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #2  
Antiguo 02-10-2007
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
No trabajo con IBExperts, pero lo que te está pidiendo cuando dice
Cita:
o esta creada una especiee de vinculación con otra tabla
es que te falta crear la FK (Foreign Key) en las tablas detalle.

Las tablas cabecera deben tener una PK (Primary Key)
Las tablas detale deben tener una FK relacionada con la PK de la cabecera.

Ejemplo:
Código:
cabecera (empresa,ejercicio,nro_doc,dato1,dato2,dato3)
detalle (empresa,ejercicio,nro_doc,linea,detalle1,detalle2,detalle3)

cabeceraPK (empresa,ejercicio,nro_doc)
detallePK(empresa,ejercicio,nro_doc,linea)
detalleFK(empresa,ejercicio,nro_doc --> cabecera(empresa,ejercicio,nro_doc))
Responder Con Cita
  #3  
Antiguo 02-10-2007
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
un ejemplo concreto:
Código SQL [-]
create table terceros(
     TERCERO CONTADORES,
     NOMBRE TITULOS,
     ...);

/* Primary Key */

alter table terceros add constraint PK_TERCEROS primary key (TERCERO);

create table terceros_direcciones(
     TERCERO CONTADORES,
     DIRECCION MINI_CONTADORES,
     DIR_NOMBRE TITULOS_40,
     ...);

/* Primary Key */

alter table terceros_direcciones add constraint PK_TERCEROS_DIRECCIONES primary key (TERCERO, DIRECCION);

/* Foreign Key */

alter table terceros_direcciones add constraint FK_TERCEROS_DIRECCIONES_TER foreign key (TERCERO) references TERCEROS(TERCERO);
Responder Con Cita
  #4  
Antiguo 02-10-2007
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Para la segunda cuestión:

- Creas las dos tablas con Cabecera y Detalle.
- Creas un DataSource para cada uno,DSCabecera y DSDetalle (por lo menos para la Cabecera)
- En la tabla detalle pones el origen de datos al Datasource de la Cabecera
--- Detalle.DataSource = DSCabecera
- En el SQL pones :
--- En cabecera "select clave,campo1,campo2,... from cabecera where ..."
--- En el detalle "select clavecab,clavedet,campo1,campo2,... from detalle where clavecab=:clave"

Cuando abras las dos tablas, el detalle se unirá automaticamente al detalle.
Nota el/los campo/s clave de la cabecera se tienen que llamar igual que los parámetros en el where del detalle.
Responder Con Cita
  #5  
Antiguo 02-10-2007
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 23
José Luis Garcí Va camino a la fama
Wink

gracias por tu rapida respuesta duilioisola me ha servido en partepara solucionar el problema la parte del indice FK en la tabla detalle, la segunda parte me perdi, me imagino que te referias a crear en codigo, ya que no especificabas el componente para las tablas, te comento como lo solucione

use dos Ibtables, una para el maestro y otra la parte deldetalle, etableci en cada una su indice en indexname, en la detalle en mastersource hago referencia a la datasource maestro, y en masterfield, estableco el joined fields de los campos del indice y listo.

Espero, me corrijas, si esta mal ocomo lo hubiese echo, por favor especifica componentes, ya que en en firebird, soy neo total.

gracias por tu respuesta.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #6  
Antiguo 02-10-2007
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
De nada, es un placer poder ayudar!

Supongo que está bien com lo haces. Yo uso otros componentes (FreeIB), pero si te funciona correctamente, sigue adelante.
Si te tropiezas con algún otro problema, ya sabes... aquí estamos.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Maestro-Detalle con Delphi 7 silviodp Conexión con bases de datos 5 31-01-2005 12:46:23
Maestro Detalle con Rave Report y Delphi 7 plmperez Impresión 2 05-11-2004 12:10:06
Maestro Detalle en Delphi AGAG4 Conexión con bases de datos 2 09-08-2004 16:36:07
Informe maestro/Detalle en Rave de Delphi 7 Brewster Impresión 0 15-06-2004 13:47:24
Error Crear Maestro+Detalle+IBX+Interbase61 ASAPLTDA Conexión con bases de datos 1 21-05-2004 20:52:53


La franja horaria es GMT +2. Ahora son las 22:42: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