Problemas com Master-Detail
Bom, não encontrei um nome significativo para o tópico do assunto pois meu problema é o seguinte :
Ao abrir uma tabela Master-Detail os details ficam "desorganizados", por exemplo, tenho o seguinte relacionamento :
Vendedor (Master) -- > Pedido ( Detail do Vendedor ) -- > Itens ( Detail do Pedido )
o que ocorre é que os itens que deveriam estar no pedido 478 estão no pedido 500 o que causa uma grande confusão. Porém, percebi que isso ocorre quando o Usuário "abre o dataset" e apenas visualiza a Dbgrid sem mecher em nada, quando ele movimenta o cursor do dataset para o proximo ou o registro anterior (next and prior) a tabela ITENS automaticamente se "sincroniza" com a tabela PEDIDO ficando tudo certo.
Então para resolver este problema sem precisar com que o usuário tenha que ficar movimentando a dbgrid para atualizar, no evento AfterOpen do DataSet faço o seguinte :
DataSet.FindNext; DataSet.FindPrior;
Com isso o problema acabou, porém o que eu gostaria era saber o porque deste problema , e se esta é a melhor solução !
Ao abrir uma tabela Master-Detail os details ficam "desorganizados", por exemplo, tenho o seguinte relacionamento :
Vendedor (Master) -- > Pedido ( Detail do Vendedor ) -- > Itens ( Detail do Pedido )
o que ocorre é que os itens que deveriam estar no pedido 478 estão no pedido 500 o que causa uma grande confusão. Porém, percebi que isso ocorre quando o Usuário "abre o dataset" e apenas visualiza a Dbgrid sem mecher em nada, quando ele movimenta o cursor do dataset para o proximo ou o registro anterior (next and prior) a tabela ITENS automaticamente se "sincroniza" com a tabela PEDIDO ficando tudo certo.
Então para resolver este problema sem precisar com que o usuário tenha que ficar movimentando a dbgrid para atualizar, no evento AfterOpen do DataSet faço o seguinte :
DataSet.FindNext; DataSet.FindPrior;
Com isso o problema acabou, porém o que eu gostaria era saber o porque deste problema , e se esta é a melhor solução !
Ronaldo Lanhellas
Curtidas 0
Respostas
José
06/07/2011
Este tópico esta sendo fechado por inatividade. Se necessário, sinalizar para que seja reaberto ou abrir um novo.
GOSTEI 0