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

Filtro Complicado Em Sql?


Guest - Adriano_Servitec -

Pergunta

Guest - Adriano_Servitec -

Boa tarde a todos, aguem pode me dizer o que esta de errado nesse codigo?

procedure TForm2.Edit1Change(Sender: TObject);

begin

Query2.Close;

Query2.SQL.Text:='SELECT * from TB8MUNIC';

QUERY2.SQL.TEXT:='where comunicipio = ' + quotedstr(combobox2.Text) + ' AND '+ ' NOMUNICIPIO like :Vnome';

Query2.ParamByName('Vnome').Value:=Edit1.Text+'%';

Query2.Open;

end;

Nesse caso gostaria de saber é o seguinte, tenho um combobox aonde filtro por estado no caso aparece 41 no dbgrid aparece Parana, e ai pula para o edit esse que coloquei o codigo acima, então automaticamente ao pular para o edit1 no dbgrid aparece todos os municipios do Parana, e nesse edit1 no evenst onchange a ideia é digitar o nome da cidade e aparecer somente as que pertencem ao estado 41 que no caso é o Parana, mais o codigo acima compila mais da erro dentro do programa, se eu tirar aquela parte comunicipio='+quotedstr(combobox2.text)+' ele não da erro porem me mostra todos os municipios do Brasil, usei esse pedaço acima cidado usando o campo comunicipio porque então no combobox já esta 41, mais infelizmente não funciona

Agradeço a quem puder me ajudar

Obrigado

Adriano

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

tenta assim... so não testei aqui... ai não lembro se é 3 aspas no final ou 5... testa ai! qualquer coisa.. posta o erro que ta dando!

procedure TForm2.Edit1Change(Sender: TObject);
begin
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('SELECT * from TB8MUNIC');
QUERY2.SQL.Add('where comunicipio = ' + IntToStr(combobox2.Text) + ' AND NOMUNICIPIO like ''' + Edit1.Text + '''%''''');
Query2.Open;
end;

Link para o comentário
Compartilhar em outros sites

  • 0

ola Bastard2003, primeiro quero agradeçer por me ajudar, bom no seu codigo faltou mais duas aspas em torno do combobox e um quotedstr antes do edit1.text, mais mesmo assim não dava certo, ai fui olhando a tabela porque ficava em branco e achei a soluçao que ficou assim

procedure TForm2.Edit1Change(Sender: TObject);

begin

QUERY2.ACTIVE:=TRUE;

query2.refresh;

with Query2 do

begin

close;

sql.clear;

sql.add('select * from tb8munic');

sql.add('WHERE (comunicipio >= ' + quotedstr(combobox2.Text + '00') + ' ) and (comunicipio <= ' + quotedstr(combobox2.Text + '99') + ' ) AND (NOMUNICIPIO like :Vnome)');

QUERY2.PARAMBYNAME('VNOME').VALUE:=EDIT1.TEXT+'%';

open;

end;

end;

Muito obrigado amigo pela ajuda.

Precisando e se eu puder ajudar tambem tamos ae

ADRIANO

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,3k
×
×
  • Criar Novo...