Fórum Discução sobre Nested Table com DbExpress. #268606
15/02/2005
0
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
Curtir tópico
+ 0Posts
14/03/2005
Row
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.
Gostei + 0
14/03/2005
Rômulo Barros
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.
Gostei + 0
14/03/2005
Row
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]
Gostei + 0
14/03/2005
Emerson Nascimento
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.
Gostei + 0
14/03/2005
Rômulo Barros
Gostei + 0
14/03/2005
Michaell
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
Colega,
Você tem algum exemplo de como realizar as operações de edição (Insert, Update, Delete) nestes tipos de relacionamentos?
[]´s
Gostei + 0
16/03/2005
Row
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.
Gostei + 0
16/03/2005
Emerson Nascimento
ORÇAMENTOS |-------> ITENS_ORC |------| PRODUTOS
onde um orçamento tem vários itens e o item tem apenas 1 produto.
Gostei + 0
16/03/2005
Row
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?
Gostei + 0
16/03/2005
Emerson Nascimento
mas seu relacionamento é do tipo metre-detalhe.
é somente
Orçamento -> Itens Orçamento
onde está sua dúvida?
Gostei + 0
16/03/2005
Row
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.
Gostei + 0