Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Leonardo Duarte

ComboBox + BD

Recommended Posts

Oi Amigos,

Estou voltando a programar depois de muuuuuuuuito tempo parado, eu tava querendo montar uma aplicação pra facilitar a minha vida e pensei em criar um bd com o nome das pessoas e na interface do programa, queria colocar uma combobox pra eu ir digitando o nome e abrir logo abaixo, tipo uma tabela, as opções fazendo cada vez mais restrições, do tipo, se digito na combobox LEO, aparece todas as pessoas que tem LEO no nome(LEONARDO, LEON, LEONORA,etc) , e conforme vou digitando LEONARDO, aparece todas as pessoas que tem LEONARDO e assim por diante, e se digitar *, apresenta todos os nomes. e ao clickar no nome escolhido, automaticamente ele preenche os campos ENDEREÇO e CPF, baseado nos dados pre-cadastrados no BD.

Ainda se usa paradox como banco de dados? Qual é o mais rapido (e facil) hoje em dia?

Sei que é facil de fazer (pra vocês que estão respirando isso) mas eu to voltandooo, relembrando.....

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde amigo..

 

Seguinte, eu utilizo o banco sql server, tem ótimas performances e ainda é free. só não sei exatamente até quantos usuários acessando o mesmo tempo é free.

 

 

Quanto a sua dúvida, vou postar algo, espero que ajude.

 

 

digamos que você tenha uma procedure para pesquisar clientes.

 

procedure TfrmClientes.LocalizarCliente(Sender: TObject);

begin

with queryClientes do

begin

SQL.Clear;

SQL.Add(' SELECT ');

SQL.Add(' Codigo, Nome, CPF, Telefone ');

SQL.Add(' FROM TB_CLIENTES ');

SQL.Add(' WHERE NOME LIKE :NOME ');

SQL.Add(' ORDER BY NOME ');

Parameters.ParamByName('NOME').Value := '%'+ Trim(edit1.Text)+'%';

Open;

end;

 

no lugar deste edit1 você pode colocar sua combo se quiser.

 

aí no evendo onchange do edit ou da combo você chama esta procedure.

 

ai você, com um dbgrid que esteja ligado a esta mesma query/datasource, conforme você vai digitando vai atualizando no grid.

 

espero ter ajudado.

 

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode usar o dblookupcombobox... faz isso sem programar linha nenhuma... basta setar o datasource... basta setar as propriedades lookup source e lookup display

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigão vou até te dar uma Atenção Especial, Pois durante muito tempo tive essa mesma Duvida!!!

 

Eu de você Usaria MySQL (Facil, Facil, Facil e Freeee)

 

Quanto a ComboBox pra mim ver melhor o que eu estou fazendo eu Utilizo um While... e Percorro toda a Tabela de nomes do Primeiro ao Ultimo

 

* Detalhe é ComboBox mesmo..Nada de DbCombo ou LookupCombo

 

Segue o Código:

 

// Abertura do Combo

  Dados.QueryConsulta.Close;
  Dados.QueryConsulta.SQL.Clear;
  Dados.QueryConsulta.SQL.Add('select c.codigo, c.nome from clientes c order by c.nome');
  Dados.QueryConsulta.ExecSQL;
  Dados.QueryConsulta.Open;
  Dados.QueryConsulta.First;
  while Dados.QueryConsulta.Eof <> true do
	 begin
		ComboBox1.Items.Add(Dados.QueryConsulta.Fieldbyname('nome').AsString);
		Dados.QueryConsulta.Next;
	 End;
	 EditCodigo.SetFocus;

Isso Funciona de Forma Perfeita, Afunilando a Busca do Jeito que você Precisa Conforme vai Digitando!!

 

Qualquer Duvida Posta ai!!

 

Até mais!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.