Fórum Melhorando a busca no combobox #380391

30/06/2010

0

Pessoal da uma dica , como fazer esse busca de uma maneira mais pratica

[#VIDEO-191#]
Carlos Faria

Carlos Faria

Responder

Posts

01/07/2010

Wesley Yamazack

Carlos.


  Você ja tem a solução , por que não implementa uma tela de pesquisa como o FrmTrajetoGRupo ? Só que para o Campo Rua ? Este campo é um Lookup, correto ?

   Faça uma tela de pesquisa como o FrmTrajetoGrupo, porém o clientdataset de pesquisa vai ser o que contém os dados da rua. Quando você selecionar o endereço, correto, mude no ClientDataSet que contém o Lookup o valor da rua, e irá funcionar, da mesma forma.


Att,

Wesley Y

Responder

Gostei + 0

01/07/2010

Carlos Faria

Vou tentar aqui , nao sabia que podeira programar a query direto no campo lookup
Responder

Gostei + 0

01/07/2010

Wesley Yamazack

Carlos,
  Não é programar a query do Lookup, mas sim fazer a busca, em cima do CDS no qual você tem a lista de ruas, no momento que você achar a rua a seu Lookup tem que ser posicionado naquela rua.

Veja uma rotina que eu faço exatamente isso que você quer.


Eu tenho um formulário de Pesquisa onde ele contem :
TDataSource = DSPesquisa
TDBGrid
TButton - BtnLocalizar//Veja abaixo a implementação deste botao
TEdit - EdtConteudo


procedure TFrmPadrao.LocalizarLookup(xDSOrigem, xLookupDataSet: TDataSet;
  xDescricaoLookup, xCodigo, xDescricao: String);
begin
  Try
    FrmPesquisa := TFrmPesquisa.Create(Self);
    With FrmPesquisa do
    begin
      DSPesquisa.DataSet := xDSOrigem.FieldByName(xDescricaoLookup).LookupDataSet;
      GridPesquisa.Columns[0].FieldName := xCodigo;
      GridPesquisa.Columns[1].FieldName := xDescricao;
      xCampoPesquisa := xDescricao;
      ShowModal;
      if FrmPesquisa.ModalResult = mrOk then
      if xDSOrigem.State in [dsInsert,dsEdit]  then
         xDSOrigem.FieldByName(xCodigo).AsString := DSPesquisa.DataSet.FieldByName(xCodigo).AsString;
    end;
  Finally
    FreeAndNil(FrmPesquisa);
  End;
end;

//Implementação do Botao pesquia

procedure TFrmPesquisa.BtnPesquisaClick(Sender: TObject);
begin

  With TClientDataSet(DSPesquisa.DataSet) do
  begin
    Filtered := False;
    case TipoPesquisa of
      TPString:
        Filter := UpperCase(xCampoPesquisa + ' Like ' + QuotedStr
            ('%' + EdtConteudo.Text + '%'));
      TPNumero:
        Filter := xCampoPesquisa + ' = ' + EdtConteudo.Text;
      TPData:
        Filter := xCampoPesquisa + ' = ' + EdtConteudo.Text;
    end;
    Filtered := True;
    Open;
  end;
end;

Veja se isso irá clariar suas ideiais.

Att,

Wesley Y
Responder

Gostei + 0

04/07/2010

Carlos Faria

Entao voce verifica aqueles outros vou pesquisar isso aqui,acho que nao e isso o que estou querendo mas vou analizar seu codigo !
Responder

Gostei + 0

05/07/2010

Wesley Yamazack

Carlos,

Deixa cmg

Att,

Wesley Y
Responder

Gostei + 0

16/07/2010

Wesley Yamazack

Carlos, como estamos com este chamado ?

Att,

Wesley Y
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar