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

(Resolvido) busca com filtro com adoquery no dbgrid


looptel

Pergunta

ola pessoal. estou tentanto fazer um form para busca de produtos na tabela, e... queria que o form mostrasse uma selecao dos dados a cada letra digitada. ex: se digitar n mostra todos os produtos que iniciam com "n" se digitar 'na' aparece apenas os que iniciam com 'na' e assim por diante.

estou usando Adoquery e MDb access, o codigo que criei so mostra o dado apos digitar o nome do produto inteiro, segue abaixo o codigo....

o que devo alterar para conseguir o que quero???????????????????????????????????????

desede já agradeco a ajuda de todos.

att, Fernando jose dos reis

aqui comeca o codigo//

unit UnitConsulta;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls;

type
  TForm1 = class(TForm)
    DBGrid1: TDBGrid;
    Edit1: TEdit;
    Edit2: TEdit;
   procedure Edit2Change(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses UnitDM;

{$R *.dfm}

procedure TForm1.Edit2Change(Sender: TObject);
begin
  DM.adoquery1.close;
  DM.adoquery1.Sql.clear;
  DM.adoquery1.Sql.Add('select * from produtos');
  DM.adoquery1.Sql.Add('where nome = :VarNome');
  DM.adoquery1.Parameters.ParamByName('VarNome').Value :=(Edit2.text);
  DM.adoquery1.open;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
   edit2.SetFocus;
end;

end.

Editado por Micheus
Adicionado o delimitador de código [code] [/code]. Lembre-se de utilizá-lo para melhor visualização
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

faça esta modificação

procedure TForm1.Edit2Change(Sender: TObject);

begin

DM.adoquery1.close;
DM.adoquery1.Sql.clear;
DM.adoquery1.Sql.Add('select * from produtos');
DM.adoquery1.Sql.Add('where nome like :VarNome');
DM.adoquery1.Parameters.ParamByName('VarNome').Value := '%' + trim(Edit2.Text) + '%';
DM.adoquery1.open;


end;

OBS: a busca sera onde encontrar a letra do texto, caso não esteja como voce quer faça isto:

DM.adoquery1.Parameters.ParamByName('VarNome').Value := '%' + trim(Edit2.Text);

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Valeu Jonas!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!11

:D

apenas tirei o '%' + e ficou exatamente como eu queria......

mujitissimo obrigado pela ajuda...

agora vou postar a "receita de bolo" pra chegar na consulta que fiz,pois, sei que tem mais gente como eu.....iniciante e não consegue pegar alguns detalhes da configuraçao da query. mas outro diA

faça esta modificação

procedure TForm1.Edit2Change(Sender: TObject);

begin

DM.adoquery1.close;
DM.adoquery1.Sql.clear;
DM.adoquery1.Sql.Add('select * from produtos');
DM.adoquery1.Sql.Add('where nome like :VarNome');
DM.adoquery1.Parameters.ParamByName('VarNome').Value := '%' + trim(Edit2.Text) + '%';
DM.adoquery1.open;


end;

OBS: a busca sera onde encontrar a letra do texto, caso não esteja como voce quer faça isto:

DM.adoquery1.Parameters.ParamByName('VarNome').Value := '%' + trim(Edit2.Text);

abraço

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...