Fórum DataModule x MDI Forms #194655

12/11/2003

0

Pessoal, tenho uma dúvida cruel relacionado a centralizar tabelas em um datamodule em uma aplicação MDI.

Vou tentar dar um exemplo prático.

Vamos supor que na aplicacao eu tenha um DataModule e que uma das tabelas seja ´tblClientes´ por exemplo.
Essa tabela eh aberta logo que a aplicacao se inicia.
O formulario principal é do tipo ´MDIForm´.
Agora que entra o problema. Esta aplicacao tem um formulario MDIChild chamado ´frmClientes´ que é o cadastro de clientes. Se eu chamar este formulario ´frmClientes.Show´ nao ´ShowModal´, quando aberto ele ira mostrar os dados do registro atual da tabela ´tblClientes´.
Se eu chamar outro formulario MDIChild ´frmPedido.Show´ por exemplo, e neste formulario eu tiver um DBLookupCombobox que lista os registros de ´tblClientes´. Vale lembrar que estes formularios estao abertos ao mesmo tempo ´.Show´.
Quando eu selecionar um cliente no DBlookupComboBox, o formulario ´frmClientes´ tambem muda, ou seja, ele posiciona para o registro que eu selecionei no dbLookupcombobox que esta em outro formulario.

Eu dei este exemplo para tentar demostrar a minha duvida. Agora eu pergunto. Existe uma maneira de criar uma aplicacao MDI que utilize um DataModule para centralize as tabelas, e varios formularios que utilizem uma tabela sem que as alteracoes feitas em um formulario influenciem outro formulario que utilize a mesma tabela ?

Pode parecer confuso, mais eu realmente queria ter uma explicacao sobre esse assunto ou ateh mesmo uma caminho.

Desde já agradeço!

[]´s
Thiago


Flessak

Flessak

Responder

Posts

13/11/2003

Danielclubedelphi

ola.

Acho q isso esta ocorrendo pq vc usa a mesma tabela para os dois formulários.

Eu prefiro deixar no datamodule apenas o Database e as querys nos formulários. Acaba ficando um pouco mais trabalhoso mas dá pra ter um controle um pouco maior usando SQL dinâmicos, etc.


Responder

Gostei + 0

13/11/2003

Mitsalito

frmClientes.Show no MDI é incorreto tente
frmClientes := TfrmClientes.Create(self);
Depois quando vc chama outro formulário o registro que está sendo alterado é o mesmo por isso toda mudança que acontecer um dos formul´arios de clientes poderam ser vistas no outro formulário, eu diria para vc não permitir que se abra dois formulários para clientes, mas caso vc tenha a nescessidade de abrir os dois formulários tente deixar a tabela no formulario de cliente.

o que vc quer fazer não pode ... ou melhor é inviavel e incorreto


Responder

Gostei + 0

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

Aceitar