Array
(
)

problemas com tabelas

Fernando_cunha
   - 03 jan 2006

ola

tenho um form que trabalham com 3 tabelas

tb1

tb2

tb3


a tabela mestre é tb1

em tb2 e tb3 a propriedade mastersource é o datasource de tb1

até ai sem problemas ..

quando mando gravar alguma coisa na tabela tb1 ele permite que eu insira normalmente, mas somente depois que eu dou Post o campo CodReInterno recebe um valor, pq ele é autoincremento e chave primeira de tb1

as tabelas tb2 e tb3 estao configuradas com a propriedade materfields := ´CodReInterno´ pq esse é o campo em comum entre todas as 3 tabelas ..

o problema é

quando entro com os dados em tb2 ou tb3 sem o valor do campo codreinterno de tb1, esses valores ficam perdidos em tb2 e tb3 e nao tenho como recupera-los posteriormente pq o valor codreinterno em tb2 e tb3 fica em branco ...

deu para entender? :oops:

[]s


Fernando_cunha
   - 03 jan 2006

como resolvo isso?


Edilcimar
   - 03 jan 2006

Se as tabelas 2 e 3 são detalhes da tabela 1, então vc não pode cadatrar nada nelas sem o campo ´chave´ de ligação com a tabela 1, senão vc não vai mesmo conseguir recuperar nada depois, o que deve fazer é na hora de gravar nestas 2 tabelas verificar se o campo de ligação está preenchido ou não, e caso não esteja não permita a gravação do registro


Fernando_cunha
   - 03 jan 2006

o problema é que os componentes para inserir em ambas tabelas esta no mesmo form, nao vai ficar legal travar o usuario ... e a ordem de preenchimento tbm tem um padrao e é bem estranha ...

exemplo ...
o usuario começa preenchendo alguns campos de tb1 ...
no meio existem alguns campos de tb2 e tb3 a serem preenchidos
e depois voltamos a preencher campos de tb1 ...


Edilcimar
   - 03 jan 2006

tudo bem, mas na hora que vc fizer a primeira gravação na tabela 1 pode pegar o valor do campo chave e jogar em uma variável, aí quando o for gravar na tabela 2 e 3 já tem o valor na variável e é só jogar para dentro do campo