Fórum ajuda delphi pesquisa #425246

02/10/2012

0

ola pessoal só novo aqui no forum e no delphi queria saber como faço para fazer uma colsulta...
tipo assim tenho um formulario de agenda de serviços e queria pesquisar qual o fucionario que realizou o serviço,sendo que
gostaria que aparecece no grid só os serviços que o fucionario realizou,
o meu banco de dados é o interbase
Glebson Guimaraes

Glebson Guimaraes

Responder

Posts

02/10/2012

Deivison Melo

Aqui tem um exemplo usando webbroker, mas o conceito é o mesmo!

http://www.facunte.com.br/livros/dw7/livro_delphi_web_capitulo_7.pdf

Qualquer dúvida postar!
Responder

Gostei + 0

02/10/2012

Joel Rodrigues

Sua dúvida é com relação a consulta (SQL) ou a programação no Delphi?
Poste a estrutura de suas tabelas.
Responder

Gostei + 0

02/10/2012

Glebson Guimaraes

minha duvida é na consulta sql
como fazer a consulta.
Responder

Gostei + 0

02/10/2012

Joel Rodrigues

Bom, não conheço a estrutura das suas tabelas, mas a consulta não parece difícil, bastaria um select na tabela de serviços filtrando pelo funcionário, não?
SELECT *  FROM SERVICOS WHERE FUNCIONARIO = :valor
Responder

Gostei + 0

03/10/2012

Glebson Guimaraes


HO EU FIZ ASSIM

procedure Tformagenda.Button2Click(Sender: TObject);
begin

DmDados.IBQueryAgenda.Close;
DmDados.IBQueryAgenda.ParamByName('Fuci_atend').AsString:='%'+Edit1.Text+'%';
DmDados.IBQueryAgenda.open;

end;

POREM NUM APARECE NADA QUANDO DIGITO NO EDIT E CLICO NO BUTTON2
Responder

Gostei + 0

03/10/2012

Joel Rodrigues

Como está o SQL da sua tabela?
A ideia é a seguinte, adequando a consulta à sua tabela:
procedure Tformagenda.Button2Click(Sender: TObject);
begin
DmDados.IBQueryAgenda.Close;
DmDados.IBQueryAgenda.SQL.Text := 'SELECT * FROM ATENDIMENTOS WHERE FUNCIONARIO= :fun';
DmDados.IBQueryAgenda.ParamByName('fun').AsString := Edit1.Text;
DmDados.IBQueryAgenda.open;
end;


Como você está usando um comparador de igualdade, não precisa dos "coringas" (%).
Responder

Gostei + 0

03/10/2012

Glebson Guimaraes

select * from AGENDA
where FUCIONA_ATENDENTE= :Fuci_atend;
Responder

Gostei + 0

03/10/2012

Glebson Guimaraes

ai amigao fiz assim

procedure Tformagenda.Button2Click(Sender: TObject);
begin

DmDados.IBQueryAgenda.Close;
DmDados.IBQueryAgenda.SQL.Text:= 'SELECT * AGENDA WHERE FUCIONA_ATENDENTE= : Fuci_anted';
DmDados.IBQueryAgenda.ParamByName('Fuci_anted').AsString:=Edit1.Text;
DmDados.IBQueryAgenda.open;

end;


daí da um erro 'IBQueryAgenda: Parameter 'fuci_atend' not found'
Responder

Gostei + 0

03/10/2012

Joel Rodrigues

Você separou os dois pontos (:) do nome do parâmetro, deve ficar junto.
Responder

Gostei + 0

03/10/2012

Glebson Guimaraes

da outro erro Dynamic error sql code = 104 lin,1
daquele outro jeito passa fica na linha debaixo
Responder

Gostei + 0

03/10/2012

Joel Rodrigues

Cara, tá faltando também o FROM (SELECT * FROM AGENDA...)
Responder

Gostei + 0

03/10/2012

Glebson Guimaraes

é eu vi ja coloquei
só que quando clico num acontece nada ta igual o outro
Responder

Gostei + 0

03/10/2012

Glebson Guimaraes

obrigado pela força kra deu certo sim,
eu tambem tinha colocado a função habilitar ou desabilitar datasource.
e dai nem precisa dizer o resto
kkk
rsrsrrs
Responder

Gostei + 0

03/10/2012

Joel Rodrigues

Ah ha, show de bola. Que bom que você conseguiu.
Grande abraço.
Estou encerrando o tópico.
Responder

Gostei + 0

04/10/2012

Alisson Santos

procedure Tformagenda.Button2Click(Sender: TObject);
begin
with DmDados.IBQueryAgenda do
begin
   Close;
   Sql.Clear;
   Sql.Add('select * from agenda');
   Sql.Add('where FUCIONA_ATENDENTE = ' + Quoted(Edit1.Text));
   Open;
end;


Essa maneira não precisaria criar um parametro para ter o retorno.
Responder

Gostei + 0

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

Aceitar