Ajuda - Busca - Membros - Calendário
Versão Completa: pesquisa por quantidade de registro
Fórum Script Brasil > Programação & Desenvolvimento > Delphi, Kylix
vms
queria fazer uma pesquisa em um banco de dados
por quantidades de ocorrencias

ex:

campo1 (maquinas) A
campo2 (defeito) M
campo3 (data_defeito) A

qual a maquina que ocorre mais defeito registrado?

uso tabela paradox
Jhonas
QUOTE
queria fazer uma pesquisa em um banco de dados
por quantidades de ocorrencias


Voce pode fazer uma pesquisa por data ou por defeito

Ex:

Select * from Tabela
Where data_defeito >= :Data1 and data_defeito <= :Data2
Order by maquinas, data_defeito

Neste caso Data1 e Data2 são passados como parametros ( data nicial e data final da pesquisa )

Select * Tabela
Where defeito like :Def
Order by maquinas, data_defeito

Neste caso Def é passado como parametro ( descrição do defeito )

..........................................................................
qual a maquina que ocorre mais defeito registrado?

Como voce não colocou quantidade de defeitos mas sim descrição do defeito então use a select 2

abraço


vms
QUOTE
Neste caso Data1 e Data2 são passados como parametros ( data nicial e data final da pesquisa )


Jhonas, voce pode fazer um exemplo como passar como parametro? porfarvor!

seria mais ou menos assim?

CODE
DM.QPesqQtd.Close;
DM.QPesqQtd.SQL.Clear;
DM.QPesqQtd.SQL.Text := 'select * from OS where Data_Inicio >= :Data1 and Data_Inicio  <= :Data2';
DM.QPesqQtd.ParamByName("Data1").AsString := (Edit1.Text);
DM.QPesqQtd.ParamByName("Data2").AsString := (Edit2.Text);
DM.QPesqQtd.Open;
Jhonas
QUOTE
Jhonas, voce pode fazer um exemplo como passar como parametro? porfarvor!

seria mais ou menos assim?


Sim ou poderia ser assim tambem

CODE
DM.QPesqQtd.Close;
DM.QPesqQtd.SQL.Clear;
DM.QPesqQtd.SQL.Text := 'select * from OS where Data_Inicio >= :Data1 and Data_Inicio  <= :Data2';
DM.QPesqQtd.ParamByName("Data1").AsDate := DateEdit1.Date;
DM.QPesqQtd.ParamByName("Data2").AsDate := DateEdit2.Date;
DM.QPesqQtd.Open;


abraço
Micheus
vms, quando tratar de intervalos de datas em uma constula SQL, dê preferência a utilizar between.
no lugar de:
where Data_Inicio >= :Data1 and Data_Inicio <= :Data2

use:
where Data_Inicio between :Data1 and :Data2

Abraços
Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.
Invision Power Board © 2001-2012 Invision Power Services, Inc.