calcio 2 Denunciar post Postado Fevereiro 27, 2007 Boa tarde a todos...Tenho em um DM uma consulta que me traz todos os distribuidores e seus respectivos códigos, preciso popular uma combobox com esses valores, sendo que o código precisa ser o valor a ser enviado e o nome o valor a ser mostrado.Preciso disso para montar um relatório de acordo com o código do distribuidor que foi selecionado!E mais uma coisa, como passar esse valor selecionado para a qry que roda o relatório? Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Fevereiro 27, 2007 Use um TDBLookupComboBox, ligue as propriedades ListaSource ao seu dts, ListField e KeyField com os campos...Depois quando selecionar um item, automaticamente a sua tabela fica parada no mesmo registro selecionado, podendo acessar a tabela para pegar o código. Compartilhar este post Link para o post Compartilhar em outros sites
calcio 2 Denunciar post Postado Março 2, 2007 marcio, fiz o seguinte, criei um DS e liguei ao meu DM, na TDBLookupComboBox liguei o DataSource e o LinkSours em meu DS, e apontei ListField e KeyField para seus respectivos campos, porém quando rodo a Combo fica inativa e nem aparece nada dentro dela. Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Março 2, 2007 A table ou query está desativada... Compartilhar este post Link para o post Compartilhar em outros sites
calcio 2 Denunciar post Postado Março 2, 2007 Como assim qry desativada?Até onde sei a consulta pelo IBexpert roda sem problemas e meu ds está ativo. Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Março 2, 2007 Boa Tarde Calcio...Bom, normalmente a DBLookup fica dessa forma quando os requisitos não são preenchidos de forma correta ou então o ListSource não esteja ativo...Verifique as Propriedades: - ListSource- List Field- Key Fielde se a query ou table está ativa no momento... Compartilhar este post Link para o post Compartilhar em outros sites
calcio 2 Denunciar post Postado Março 2, 2007 Só precisa desses 3?- ListSource- List Field- Key Fieldñ precisa do DataSource? Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Março 2, 2007 O DataSource iria precisar preencher somente se fosse utilizar em um cadastro. Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Março 2, 2007 Exatamente isso!Deu certo aew? Compartilhar este post Link para o post Compartilhar em outros sites
calcio 2 Denunciar post Postado Março 2, 2007 - ListSource - ok- List Field - ok- Key Field - ok+ continua sem exibir nada. Precisa fazer + alguma coisa alem disso? Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Março 2, 2007 Apenas ativar o objeto que está ligado ao ListSource... e certificar-se de que ele traga registros!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
calcio 2 Denunciar post Postado Março 3, 2007 Galera consegui fazer aki com a ajuda do meu pai..O babaca aki esqueceu de usar o ds.Close e ds.open+ uma coisa preciso que ao clicar num botão eu limpe oq foi selecionado na combo ou fazer a adição de um item vazio. tem como foçcar isso num campo DBLockupCombo? Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Março 3, 2007 Registro em branco... um... só se você inserir um na tabela... tipo, preencher o código e deixar o nome em branco no caso de um cadastro de clientes onde você lista os nomes... quanto a desmarcar, faço da seguinte maneira com o DBLookupCombobox do Delphi... Bom, veja se entende... //Label que apaga a caixa...procedure TFrmLstVagas.Label6Click(Sender: TObject);begin inherited; //Da um active false na tabela que está no ListSource... TblCliente.Active := False;end; //Quando clicar na dblookupcombobox...procedure TFrmLstVagas.EdtClienteMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin inherited; //Se não estiver ativa a tabela... If Not TblCliente.Active then Begin //ativa a tabela que é do listsource... TblCliente.Active := True; End;end; Ai quando monto a query faço dessa forma... QryLstVagas.Close; QryLstVagas.Sql.clear; QryLstVagas.Sql.Add('SELECT Movvagas.Codigo, Cadcliente.Nome_cli, Movvagas.Placa, Movvagas.HoraEntrada, Movvagas.HoraSaida, Movvagas.Data, Movvagas.VlrCalc_MovVaga, Movvagas.VlrPago_MovVaga, Movvagas.TipoMov'); QryLstVagas.Sql.Add('FROM "CadCliente.DB" Cadcliente'); QryLstVagas.Sql.Add('INNER JOIN "MovVagas.DB" Movvagas'); QryLstVagas.Sql.Add('ON (Cadcliente.Cod_cli = Movvagas.Cod_cli)'); QryLstVagas.SQL.Add('Where Movvagas.Data Between :ParDaData And :ParAData'); QryLstVagas.ParamByName('ParDaData').AsDate := EdtdaData.Date; QryLstVagas.ParamByName('ParAData').AsDate := EdtaData.Date; If EdtCliente.Text <> '' then Begin QryLstVagas.SQL.Add('And CadCliente.Cod_Cli = '+TblClienteCod_cli.AsString); End; Quanta coisa pra nada né? Então, tive que fazer toda essa volta pq não podia usar componentes de 3ºs... mas com o infopower... eheheheh!!! amo esse componente... da pra fazer só assim ó: //Label que apaga a caixa...procedure TFrmLstVagas.Label6Click(Sender: TObject);begin inherited; //Da um active false na tabela que está no ListSource... EdtCliente.Text := '';end; Flw ae! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites