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

[resolvido] Outro Problema Com Ldblookupcombobox


Pirambu!

Pergunta

6 respostass a esta questão

Posts Recomendados

  • 0
Em outro post, foi resolvido meu problema de como colocar duas colunas no DblookupCombobox, mas como posso fazer para colocar no DblookupCombobox que estar dentro do DbGrid? :unsure:
É que não há um modo de fazer isto do mesmo modo como foi feito lá.

Neste caso, campo no DBGrid, acho que você terá concatenar os campos em um único.

Se seu lookupsource form uma query, retorne como campo de lookup a concatenação dos dois envolvidos. Se for uma table, então crie um campo calculado com a concatenação dos dois e utilize-o como lookup´.

Captou?!

Se não, diz ai como você está fazendo o lookup (no campo do DBGrid), o nome das tabelas e campos envolvidos para poder exemplificar.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Micheus, seria assim o Dbgrid1 estar com a datasouce da tabela "Saidaproduto" com o campo pecaID relacionado com tabela de peças "CadPecas" com PecaID, DbGrid escolho a peça usando a o Codigo, mas queria clicar no Lookup apareça as duas colunas de "codigo" + "descricao".

o Banco de Dados Paradox.

a tabela de Lançamento de saida "SaidaProduto" tenho:

SaidaID, PecaID, Data e Quantidade.

a tabela cadastro de peças "CadPecas" tenho tres campo:

PecaID, Codigo e Descricao.

Espero ter facilitado a ajuda. :unsure:

Link para o comentário
Compartilhar em outros sites

  • 0
Micheus, seria assim o Dbgrid1 estar com a datasouce da tabela "Saidaproduto" com o campo pecaID relacionado com tabela de peças "CadPecas" com PecaID, DbGrid escolho a peça usando a o Codigo, mas queria clicar no Lookup apareça as duas colunas de "codigo" + "descricao".

o Banco de Dados Paradox.

a tabela de Lançamento de saida "SaidaProduto" tenho:

SaidaID, PecaID, Data e Quantidade.

a tabela cadastro de peças "CadPecas" tenho tres campo:

PecaID, Codigo e Descricao.

No dataset ligado ao DBGrid (Saidaproduto), crie um campo lookup (acho que você já sabe fazer isto, mas vou colocar mesmo assim):

- acesse a lista de campos do dataset (duplo click no componente); Agora, adicione um novo campo (botão direito -> New field...); Em Name, vamos definir Descricao seguido por Type igual a String e Size conforme definido o referido campo na sua tabela de CadPecas; A seguir, definimos o tipo deste campo como sendo Lookup; Mais abaixo, fazemos a vinculação à consulta definindo KeyFields com o campo de referência a tabela CadPecas - PecaID, DataSet apontando para a consulta à CadPecas, em Lookup Keys selecionamos o campo referenciado (PecaID) e em Result Field selecionamos o campo a ser apresentado - Descricao;

Neste procedimento o dataset lookup (CadPeca) pode ser uma consulta ou tabela - fica a seu critério.

Se você quer mostrar os dois campos concatenados, você pode utilizar uma query para retornar um campo descrição concatenado ou uma table, com um campo calculado Descricao.

- o dataset lookup deverá estar aberto inicialmente.

- ele também deverá ser exclusivo para esta finalidade, ou seja, se tiver um dataset sendo utilizado para o cadastro de peças no mesmo form/datamodule - não utilize este;

- se for uma query, quando houver alteração na tabela CadPeca, ela terá que ser fechada e aberta para que a lista seja atualizada. Se for table - não precisará;

- se você manter as duas colunas no DBGrid (PecaID e Descrição), ao ser digitado o código, a descrição será alterada. Se for selecionada uma descrição, o código será alterado; Se for conveniente, você pode tornar uma das colunas ReadOnly.

Veja se você consegue chegar a algum lugar com isto que tentei explicar. Se não der, dá um toque.

Eu não tenho certeza que isso funciona certinho com o paradox.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

- o dataset lookup deverá estar aberto inicialmente.

Não entendir ou será LookupDataSet, você quer dizer que a table esteja aberta.?
é isto mesmo, você entendeu.

Antes de abrir a tabela principal, as que são utilizadas como lookup devem estar abertas (questão de ordem).

Quando você se movimentar no dataset principal, os campos que vem do dataset de lookup sâo automaticamente atualizados (ela é reposicionada).

Se você quer mostrar os dois campos concatenados

Como eu uso a query para poder concatenar?

algo como:

select (Codigo +' '+ Descricao) as Descricao
from CadPecas
order by PecaID

nesta consulta, você tem um campo Descrição que é a concatenação de Código e Descrição, ordenação pelo PecaID que será o campo utilizado para lookup.

Será que era isto?

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,4k
×
×
  • Criar Novo...