GARANTIR DESCONTO

Fórum Discução sobre Nested Table com DbExpress. #268606

15/02/2005

0

Olá pessoal,


Estou com uma dúvida sobre utilização de nested tables. Ela possui a vantagem de utilizar apenas um Applyupddades, ou cancel.
Porém estou tendo alguns problemas, tipo por exemplo. Quando eu estou inserindo um registro que vou na tabela filha e adicino um registro a tabela pai sai do estado de inserção.

Caso eu faça mestre detalhe normal isso não ocorre.

Gostaria de compartilhar a experiencia de vocês sobre Nested Table (tabela aninhada) falando sobre o que vc´s utilizam e por que.

Abraços

Yalle Cunha.


Yallebr

Yallebr

Responder

Posts

14/03/2005

Row

também gostaria de saber algo mais sobre Nested Table.
No meu caso possuo uma tabela mestre, uma tabela detalhe e uma tabela digamos de sub-detalhes

Gostaria de saber de como fazer esse relacionamento entre as 3 tabelas.


Responder

Gostei + 0

14/03/2005

Rômulo Barros

também gostaria de saber algo mais sobre Nested Table. No meu caso possuo uma tabela mestre, uma tabela detalhe e uma tabela digamos de sub-detalhes Gostaria de saber de como fazer esse relacionamento entre as 3 tabelas.


Pelo que sei, DBX suporta apenas relacionamentos do tipo PAIS para FILHOS, e não PAIS para NETOS. Ou seja, DBX é capaz apenas de exibir os detalhes de um determinado registro, mas não é capaz de exibir os detalhes de um registro que já seja detalhe de outro registro. :P

Vejam, [url=http://www.activedelphi.com.br/modules.php?op=modload&name=News&file=article&sid=58&mode=thread&order=0&thold=0]NESTE LINK[/url], como fazer um passo-à-passo de Master/Detail com Dbexpress e Firebird.


Responder

Gostei + 0

14/03/2005

Row

foi esse tutorial que eu segui.
A principio consegui fazer o que eu queria
Que era relacionar uma tabela de orçamentos (ORCAMENTOS) tabela mestre e uma tabela de itens do orçamento (ITENS_ORC) tabela detalhe.

Mas eu tenho mais uma tabela de sub-itens (SUBITENS_ORC) que seria uma tabela de detalhe da tabela de itens (ITENS_ORC)

Aih que o bicho tá pegando[/list]


Responder

Gostei + 0

14/03/2005

Emerson Nascimento

qdo vc trabalha com nested tables vc pode ter várias ´ramificações´, assim como no mestre . eu trabalho na área de transportes e tenho a seguinte ligação com nested tables:
viagem, manifestos, conhecimentos e notas fiscais.
onde uma viagem pode ter vários manifestos (ligação mestre-detalhe), o manifesto pode ter vários conhecimentos e cada conhecimento pode ter várias notas ficais. nesse caso teríamos ramificações até os ´bisnetos´. e isso funciona sem nenhum problema.

viagem
  │
  &9500;&9472;&9472;&9472; manifesto1
  &9474;        &9474;
  &9474;        &9500;&9472;&9472;&9472;&9472; conhecimento1  
  &9474;        &9474;           &9500; Nota fiscal1
  &9474;        &9474;           &9500; Nota fiscal2
  &9474;        &9474;           &9492; Nota fiscal3
  &9474;        &9474;
  &9474;        &9500;&9472;&9472;&9472;&9472; conhecimento2  
  │        &9474;           &9500; Nota fiscal1
  &9474;        &9474;           &9500; Nota fiscal2
  &9474;        &9474;           &9492; Nota fiscal3
  &9474;        &9474;
  &9474;        &9492;&9472;&9472;&9472;&9472; conhecimento3  
  &9474;                    &9500; Nota fiscal1
  &9474;                    &9500; Nota fiscal2
  &9474;                    &9492; Nota fiscal3
  &9474;
  &9500;&9472;&9472;&9472; manifesto2
  &9474;        &9474;
  &9474;        &9500;&9472;&9472;&9472;&9472; conhecimento1  
  &9474;        &9474;           &9500; Nota fiscal1
  &9474;        &9474;           &9492; Nota fiscal2
  &9474;        &9474;
  &9474;        &9492;&9472;&9472;&9472;&9472; conhecimento2  
  &9474;                    &9492; Nota fiscal1
  &9474;
  &9492;&9472;&9472;&9472; manifesto3
           │
           &9500;&9472;&9472;&9472;&9472; conhecimento1  
           &9474;           &9500; Nota fiscal1
           &9474;           &9492; Nota fiscal2
           &9474;
           &9492;&9472;&9472;&9472;&9472; conhecimento2  
                       &9500; Nota fiscal1
                       &9500; Nota fiscal2
                       &9500; Nota fiscal3
                       &9492; Nota fiscal4


seguindo o artigo já citado, basta acrescentar os datasources e ir fazendo as ligações da mesma forma que foi feito para o primeiro nível.


Responder

Gostei + 0

14/03/2005

Rômulo Barros

Tá aí !!!! Mais uma que não sabia e aprendi !!! :wink: :wink:


Responder

Gostei + 0

14/03/2005

Michaell

qdo vc trabalha com nested tables vc pode ter várias ´ramificações´, assim como no mestre . eu trabalho na área de transportes e tenho a seguinte ligação com nested tables: viagem, manifestos, conhecimentos e notas fiscais. onde uma viagem pode ter vários manifestos (ligação mestre-detalhe), o manifesto pode ter vários conhecimentos e cada conhecimento pode ter várias notas ficais. nesse caso teríamos ramificações até os ´bisnetos´. e isso funciona sem nenhum problema.
viagem
  │
  &9500;&9472;&9472;&9472; manifesto1
  &9474;        &9474;
  &9474;        &9500;&9472;&9472;&9472;&9472; conhecimento1  
  &9474;        &9474;           &9500; Nota fiscal1
  &9474;        &9474;           &9500; Nota fiscal2
  &9474;        &9474;           &9492; Nota fiscal3
  &9474;        &9474;
  │        &9500;&9472;&9472;&9472;&9472; conhecimento2  
  &9474;        &9474;           &9500; Nota fiscal1
  &9474;        &9474;           &9500; Nota fiscal2
  &9474;        &9474;           &9492; Nota fiscal3
  &9474;        &9474;
  &9474;        &9492;&9472;&9472;&9472;&9472; conhecimento3  
  &9474;                    &9500; Nota fiscal1
  &9474;                    &9500; Nota fiscal2
  &9474;                    &9492; Nota fiscal3
  &9474;
  &9500;&9472;&9472;&9472; manifesto2
  &9474;        &9474;
  &9474;        &9500;&9472;&9472;&9472;&9472; conhecimento1  
  &9474;        &9474;           &9500; Nota fiscal1
  &9474;        &9474;           &9492; Nota fiscal2
  &9474;        &9474;
  &9474;        &9492;&9472;&9472;&9472;&9472; conhecimento2  
  &9474;                    &9492; Nota fiscal1
  │
  &9492;&9472;&9472;&9472; manifesto3
           &9474;
           &9500;&9472;&9472;&9472;&9472; conhecimento1  
           &9474;           &9500; Nota fiscal1
           &9474;           &9492; Nota fiscal2
           &9474;
           &9492;&9472;&9472;&9472;&9472; conhecimento2  
                       &9500; Nota fiscal1
                       &9500; Nota fiscal2
                       &9500; Nota fiscal3
                       &9492; Nota fiscal4
seguindo o artigo já citado, basta acrescentar os datasources e ir fazendo as ligações da mesma forma que foi feito para o primeiro nível.


Colega,

Você tem algum exemplo de como realizar as operações de edição (Insert, Update, Delete) nestes tipos de relacionamentos?

[]´s


Responder

Gostei + 0

16/03/2005

Row

E quando uma tabela detalhe tem duas tabelas mestre?
No caso
tabelas mestre: ´ORÇAMENTOS´ e ´PRODUTOS´
tabela detalhe: ´ITENS_ORC´

Existe uma relação ´Muitos x Muitos´ entre ´ORCAMENTOS´ E e ´PRODUTOS´ o que gera a tabela ´ITENS_ORC´

Não estou conseguindo resolver isso.


Responder

Gostei + 0

16/03/2005

Emerson Nascimento

não entendi bem seu conceito, mas a ligação correta seria:

ORÇAMENTOS |-------> ITENS_ORC |------| PRODUTOS

onde um orçamento tem vários itens e o item tem apenas 1 produto.


Responder

Gostei + 0

16/03/2005

Row

A estrutura das tabelas é seguinte
ORCAMENTOS
- COD_ORC (PK) //Codigo do orçamento
- ANO_ORC (PK) //Ano do orçamento
- COD_CLI (FK) //Código do cliente
- DATA
- VENDEDOR


PRODUTOS
- COD_PROD (PK) //Codigo do produto
- COD_GRUPO (FK) //Grupo do produto
- NOME_PROD //Nome do produto
- DESC_PROD //Descrição do produto


Como a relação de ORCAMENTOS com produtos é de muitos para muitos (1 Orçamento pode ter varios produtos, e 1 produto pode fazer parte de muitos orçamentos)

Criei uma nova tabela
ITENS_ORC
- COD_ORC (PK) (FK) //Relaciona com orçamento
- ANO_ORC (PK) (FK) // Relaciona com orçamento
- ID_PROD (PK) (FK) //Relaciona com produto
- Demais campos..

Emerson, minha idéia está errada?



Responder

Gostei + 0

16/03/2005

Emerson Nascimento

não. sua idéia está correta.
mas seu relacionamento é do tipo metre-detalhe.

é somente

Orçamento -> Itens Orçamento


onde está sua dúvida?


Responder

Gostei + 0

16/03/2005

Row

Bom
existe uma outra tabela chamada ´COMPONENTES´
COMPONENTES //componentes de um produto
- COD_COMP (PK) //codigo do componente
- NOME_COMP
- DESC_COMP

esta tabela é relacionada com a tabela ´PRODUTOS´
Um produto pode ter varios componentes e um componente faz parte de varios produtos

PRODUTO_COMP //tabela de relacionamento
- COD_PROD (PK) (FK)
- COD_COMP (PK) (FK)


O que eu não consigo fazer é o seguinte:

Quando vou fazer um orçamento, abro um form, aonde coloco os dados do orçamento, adiciono os produtos (ITENS_ORC) no orçamento.

Eu queria clicar no DBGRID aonde estão os itens do orçamento (os produtos daquele orçamento) e que em um grid ao lado mostrasse os componentes desse item(PRODUTO) selecionado.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar