Grid / Multiselect
Ola Pessoal,
Tô meio enrolado aqui, é o seguinte:
Tenho 2 grids, com as 2 tabelas respectivamente:
Grid1 (TabFuncionarios)........................Grid2(TabTreinamentoDetalhe)
Matricula (Key)......................................Key (Key)
Nome................................................... IDTreinamento
Obra.....................................................Matricula
[color=red:a910be29e4]*OBS: A 1ª TABELA NÃO É A MESTRE DA 2ª! A MESTRE É OUTRA, QUE NÃO VEM AO CASO MOSTRAR AQUI![/color:a910be29e4]
O que eu quero é selecionar os funcionários na 1ª Grid, e passar para a 2ª tabela, consequentemente aparecendo na 2ª grid. Até aí tudo bem. (Usei multiselect, Bookmark, etc).
O problema, é que eu queria testar antes se o funcionário já existe na tabela, para evitar duplicações.
Colocar o campo TAb2.Matrícula como ´Unique´ não dá, pois posso ter repetições de matrícula desde que o campo IDTReinamento seja diferente.
Se alguem puder me ajudar agradeço muito.
Obrigado!
Tô meio enrolado aqui, é o seguinte:
Tenho 2 grids, com as 2 tabelas respectivamente:
Grid1 (TabFuncionarios)........................Grid2(TabTreinamentoDetalhe)
Matricula (Key)......................................Key (Key)
Nome................................................... IDTreinamento
Obra.....................................................Matricula
[color=red:a910be29e4]*OBS: A 1ª TABELA NÃO É A MESTRE DA 2ª! A MESTRE É OUTRA, QUE NÃO VEM AO CASO MOSTRAR AQUI![/color:a910be29e4]
O que eu quero é selecionar os funcionários na 1ª Grid, e passar para a 2ª tabela, consequentemente aparecendo na 2ª grid. Até aí tudo bem. (Usei multiselect, Bookmark, etc).
O problema, é que eu queria testar antes se o funcionário já existe na tabela, para evitar duplicações.
Colocar o campo TAb2.Matrícula como ´Unique´ não dá, pois posso ter repetições de matrícula desde que o campo IDTReinamento seja diferente.
Se alguem puder me ajudar agradeço muito.
Obrigado!
Rjanuzzi
Curtidas 0
Respostas
Rjanuzzi
21/10/2003
up
GOSTEI 0
Webraptor
21/10/2003
Saudações,
você pode, no momento antes de gravar na segunda tabela, fazer um LOCATE na tabela que vai receber o dado, com uma chave que de um unico resultado e claro, e se ja estiver lá, apenas ignore aquela linha selecionada na tabela (DBGRID) origem...
espero ter ajudado.
você pode, no momento antes de gravar na segunda tabela, fazer um LOCATE na tabela que vai receber o dado, com uma chave que de um unico resultado e claro, e se ja estiver lá, apenas ignore aquela linha selecionada na tabela (DBGRID) origem...
espero ter ajudado.
GOSTEI 0
Ticopr
21/10/2003
Bom não sei como tu esta fazendo mas nesses casos de comparar se um elemento esta em outra tabela eu utilizo na Query, exemplo
Select * from Funcionario Where Matricula not in (Select Key from TreinamentoDetalhe)
Select * from Funcionario Where Matricula not in (Select Key from TreinamentoDetalhe)
GOSTEI 0