MDetail c/ Dbgrid??

Delphi

30/07/2005

Olá a todos!

bem pessoal, estou com o seguinte problema:

Tenho uma aplicacao onde os tabelas PEDIDOS(master) e PEDIDOSL(detail) ficam no DataModule e tenho um formulário para lancamentos.

Neste formulário estou usando dois DBGrids para lancar, um para o master e outro para o detail.

Meu problema é que quando o usuario terminhar de editar o último campo na tabela Master, ao invés de inserir um novo registro, a aplicação mude automaticamente o foco para o grid detail logo abaixo, vetando o insert de um novo registro na master.

grid 1
----------------------------------------------------------
PEDIDO | DATA | FORNECEDOR | PRAZO <-neste campo
----------------------------------------------------------
00001 |25/07/2005 | 00145 | 30/60/90 <- muda p/ 2a grid 2


grid 2
----------------------------------------------------------
PEDIDO | ITEM ** | QTD | PRECO
----------------------------------------------------------
00001 | 00001 | 145 | 2,80

Explicando melhor, eu só quero permitir que o usuario informe um novo registro, se houver lancamentos na tabelha detalhe. Para isso eu faço assim:

if Grade2.Fields[0].DisplayText=´´ then
Grade2.SetFocus;

Más não consigo evitar que a tabela mestre insira um novo registro.

Agradeço desde já a ajuda de todos.


Ricardoif

Ricardoif

Curtidas 0

Respostas

Aroldo Zanela

Aroldo Zanela

30/07/2005

Colega,

Honestamente, não vejo isso como boa prática de programação e interação com o usuário. Entretanto, sem entrar no mérito da questão, você pode testar no manipulador de eventos OnNewRecord da tabela mestre se existe dados na tabela de detalhes e tomar a decisão.


GOSTEI 0
Ricardoif

Ricardoif

30/07/2005

como posso verificar se existe lancamento na tabela para o relacionamento atual?


GOSTEI 0
POSTAR