Fórum Duvida no DBGrig #166002

23/06/2003

0

Ola galera,

Tenho uma duvida no componente DBGrid e nao estou conseguindo resolver. Tenho que mostrar neste DBGrid dados de 2 tabelas e realizar as operacoes (gravar, deletar, editar etc.) em apenas 1 tabela.Bom, mostrar os dados das 2 tabelas no DBGrid eu consegui fazer mas qdo fui tentar gravar um novo registro... :(

Imaginem essas 2 tabelas:

tabela produtos:
*idproduto
nomeproduto

tabela componentes:
*idcomponente
nomecomponente
valorcomponente

tabela itensproduto:
*idproduto
*idcomponente

Soh pra ter uma ideia:

No form (frmproduto) que esta acontecendo o problema com o DBGrid eu uso a tabela produtos com a tabela itens do produto.
Neste gravo os produtos com os seus devidos componentes, uma vez que o produto final eh formado por componentes.
No DBgrid deste form (frmproduto) uso os campos da tabela itensproduto (idproduto, idcomponente) juntamente com um campo (valorcomponente) da tabela componentes. Trago esses campos dessas 2 tabelas por uma instrucao sql e faço com que apareca bonitinho no DBGrid. Entao, trabalho com 2 duas tabelas em apenas um dataset.

Qdo tento realizar alguma operacao neste dataset do DBGrid gera-se um erro de ´Coluna nao valida´, por causa do campo valorcomponente da tabela componentes.

Entao a duvida:

Alguem jah fez com sucesso, a linkacao de DUAS tabelas em um DBGrid atraves de um dataset sendo que este operava (gravava, excluia, etc.) os registros em apenas UMA??

Entenderam a duvida ???

Obrigado a todos...


Edmar Zatarin

Edmar Zatarin

Responder

Posts

23/06/2003

Cdaraujo

Caro amigo,

Esqueça em alterar dados de um conjunto, onde este é formado por junções de tabelas. Não será possível vc atualizar tais dados no DataSet. Agora o que vc pode fazer é trabalhar isso de uma maneira melhor. Vc pode, sei lá, assim quando ele clicar em alguma canto da linha que corresponde a uma tabela específica, vc abra uma telinha com os valores prontos para alteração.

Atenciosamente,

Daniel Araújo


Ola galera, Tenho uma duvida no componente DBGrid e nao estou conseguindo resolver. Tenho que mostrar neste DBGrid dados de 2 tabelas e realizar as operacoes (gravar, deletar, editar etc.) em apenas 1 tabela.Bom, mostrar os dados das 2 tabelas no DBGrid eu consegui fazer mas qdo fui tentar gravar um novo registro... :( Imaginem essas 2 tabelas: tabela produtos: *idproduto nomeproduto tabela componentes: *idcomponente nomecomponente valorcomponente tabela itensproduto: *idproduto *idcomponente Soh pra ter uma ideia: No form (frmproduto) que esta acontecendo o problema com o DBGrid eu uso a tabela produtos com a tabela itens do produto. Neste gravo os produtos com os seus devidos componentes, uma vez que o produto final eh formado por componentes. No DBgrid deste form (frmproduto) uso os campos da tabela itensproduto (idproduto, idcomponente) juntamente com um campo (valorcomponente) da tabela componentes. Trago esses campos dessas 2 tabelas por uma instrucao sql e faço com que apareca bonitinho no DBGrid. Entao, trabalho com 2 duas tabelas em apenas um dataset. Qdo tento realizar alguma operacao neste dataset do DBGrid gera-se um erro de ´Coluna nao valida´, por causa do campo valorcomponente da tabela componentes. Entao a duvida: Alguem jah fez com sucesso, a linkacao de DUAS tabelas em um DBGrid atraves de um dataset sendo que este operava (gravava, excluia, etc.) os registros em apenas UMA?? Entenderam a duvida ??? Obrigado a todos...



Responder

Gostei + 0

24/06/2003

Edmar Zatarin

Amigo,

Valeu pela dica, mas jah havia conseguido resolver o problema.
Realmente seria impossivel manipular duas tabelas em um unico dataset.
O problema foi resolvido por instrucoes sql que passei ao evento AfterDelete e AfterPost da table da grid.

Muito obrigado pela atencao!! :wink: :D 8)


Responder

Gostei + 0

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

Aceitar