Pirambu! Postado Junho 27, 2007 Denunciar Share Postado Junho 27, 2007 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: Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Junho 27, 2007 Denunciar Share Postado Junho 27, 2007 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pirambu! Postado Junho 27, 2007 Autor Denunciar Share Postado Junho 27, 2007 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: Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Junho 28, 2007 Denunciar Share Postado Junho 28, 2007 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pirambu! Postado Junho 29, 2007 Autor Denunciar Share Postado Junho 29, 2007 - o dataset lookup deverá estar aberto inicialmente.Não entendir ou será LookupDataSet, você quer dizer que a table esteja aberta.?Se você quer mostrar os dois campos concatenadosComo eu uso a query para poder concatenar? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Junho 29, 2007 Denunciar Share Postado Junho 29, 2007 - 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 concatenadosComo eu uso a query para poder concatenar?algo como:select (Codigo +' '+ Descricao) as Descricao from CadPecas order by PecaIDnesta 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? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pirambu! Postado Julho 2, 2007 Autor Denunciar Share Postado Julho 2, 2007 Funcionou direitinho, valeu Micheus. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Pirambu!
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:
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
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.