Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Campo Inner Join em Branco


renanbg

Pergunta

Essa é a tela de contas a pagar. Como pode ver eu faço filtros por cedente, vencimento, numero do documento ou nota

Sem_t_tulo.png

A SQL base desses filtros é essa:

SELECT CP.CODIGO, CP.NF, CP.DATA, CP.NUM_DOC, CP.VALOR, CP.VENCIMENTO, CP.PARCELA, CE.CEDENTE AS NOME_CEDENTE FROM CONTASPAGAR CP
INNER JOIN CEDENTES CE
ON CE.CODIGO = CP.COD_CEDENTE

Eu consigo fazer a baixa, alteração, exclusão sem problemas.
A inclusão de um novo registro que é o problema. Ao clicar naquele botão com o simbolo de +, eu abro uma nova tela onde preencho os dados que estão aparecendo no dbgrid. 
Ao gravar o nome do cedente não aparece no dbgrid.

Se fosse um campo lookup apareceria normalmente, mas via inner join vou ter que refazer a consulta a cada inclusão?

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Eu consigo fazer a baixa, alteração, exclusão sem problemas.

isso porque nas 2 tabelas existem os campos correspondentes

A inclusão de um novo registro que é o problema.

quando voce faz uma inclusão de registro em uma tabela, na outra ainda não existe o campo correspondente, ou seja ( CE.CODIGO = CP.COD_CEDENTE )

voce tem 2 opções:

Usar um select somente para a inclusão de registros e outro para fazer a baixa, alteração, exclusão

se quiser usar o mesmo select, então voce deve salvar os campos correspondentes na tabela CONTASPAGAR e depois os campos da tabela CEDENTES separadamente.

abraço

 

Link para o comentário
Compartilhar em outros sites

  • 0

De fato o campo, CEDENTE, que trago via inner join é o problema. Antes eu usava lookup e ao incluir já aparecia, porém eu mantinha uma tabela com 1200 registros aberta só para isso.

Agora com o uso do inner join, vou precisar refazer a consulta, após a inclusão, para então aparecer o nome no dbgrid.

 

Editado por renanbg
Link para o comentário
Compartilhar em outros sites

  • 0

amigo, tenho uma tabela com 300 mil registros e uso um select para inclusão e outro para os demais procedimentos.

lembre-se que voce tambem pode limitar o numero de registros que a select traz para voce

exemplo para limitar o select em 50 registros:

SELECT CP.CODIGO, CP.NF, CP.DATA, CP.NUM_DOC, CP.VALOR, CP.VENCIMENTO, CP.PARCELA, CE.CEDENTE AS NOME_CEDENTE FROM CONTASPAGAR CP
INNER JOIN CEDENTES CE
ON CE.CODIGO = CP.COD_CEDENTE LIMIT 50
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...