Fórum Relatório de estatisticas #691

20/11/2008

0

Boa noite preciso criar um formulario estatisticas e nao estou sabendo com fazer ? tenho um combobox com os periodos onde o cliente vai escolher a data do filtro ? SAO ELES DIA,SEMANA,MES,ANOS,GERAL As procedures ja estao prontas mais como o usuaro vai escolher o periodo em um combobox como eu vou fazer Exemplo se ele escolher dia , se ele escolher mes ?

[#VIDEO-18#]
Carlos Faria

Carlos Faria

Responder

Posts

20/11/2008

Carlos Faria

Ue eu nao consegui colocar o video aqui para te mostrar o exemplo , como eu faço para colocar o video para ver ser agente fecha rapido esse chamado
Responder

Gostei + 0

20/11/2008

Carlos Faria

O video esta associado,   relatorio de estatisticas !  
Responder

Gostei + 0

21/11/2008

Guinther Pauli

Carlos,   Se entendi a sua necessidade, vc tem em uma tabela cadastrados eventos ou pedidos, os mesmos possuem uma data, vc precisa dar a apção para o cliente de filtrar os dados por dia, mês, ano e geral ou seja todos. Para isso vc pode utilizar uma função do Delphi que esta na Unit DateUtils, vc precisa adicioná-la na Uses do sua Unit, onde irá utiliza-la exemplo:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DateUtils;
 
     Feito isso passamos a ter acesso a funções prontas que vão lhe ajudar muito, essas funções podem nos retornar o dia, o mês ou o ano da semana extraindo isso de uma determinada data, como no exemplo abaixo:
 
    var
 dia, mes, ano : Word;
begin
 // Extrai o primeiro dia do ano
 StartOfTheYear(StrToDate(01/01/2008));
 
 // Extrai o primeiro dia do mes
 StartOfTheMonth(StrToDate(01/01/2008));
 
 // Extrai o primeiro dia da semana
 StartOfTheWeek(StrToDate(01/01/2008));
 
 // Extrai o dia de uma data
 StartOfTheDay(StrToDate(01/01/2008));
 
 // Extrai o ano de uma data
 StartOfAYear(StrToDate(01/01/2008));
 
 // Extrai o mes de uma data
 StartOfAMonth(StrToDate(01/01/2008));
 
 { Outra forma seria usar o DecodeDate exemplo:}
 // aqui eu passo a data, no caso usei Date que é a data do micro, e as variáveis
// ano, mes dia recebem os valores
 DecodeDate(Date,ano,mes,dia);
end;
 
 Com isso vc pode deixar o seu cliente selecionar no seu comboBox uma data completa, como por exemplo 20/11/2008, e adicionar um RadioGroup onde ele irá selecionar pelo que ele precisa filtrar a determinada data, pelo dia, pelo mês ou ainda pelo ano.
 
Espero ter conseguido clarear as coisas para vc,   Estamos a disposição,
  abs
Responder

Gostei + 0

21/11/2008

Guinther Pauli

Carlos,   Resolvido seu problema ?   Podemos encerrar esse chamado ou precisa de algo mais ?   abs    
Responder

Gostei + 0

21/11/2008

Guinther Pauli

Carlos,     Continuamos ti aguardando,   abs
Responder

Gostei + 0

21/11/2008

Carlos Faria

boa tarde guinter parece ate vergonhoso mas eu nao consegui resolver o problema ! Minha maior duvida é a seguinte la na combobox o usuario tem opçoes de selecionar Dia,semana,mes,Ano eu sei que se ele seleciona dia eu vou ter que dizer que e entre dia tal entre a hora 00:00:00 e hora 23:59:59 se ele seleciona mes entre o dia 01/mes/ano hora 00:00:00 e dia atual ate a hora 23:59:59 se for ano mesmo coisa 01 dia nao hs 00:00:00 e dia atual ate as 23:59:59 agora no delphi e que eu nao sei como fazer isso ? se vc puder fazer um video ai com exemplo , incluido o case fazendo um demo bem claro acho q fica mais facil enteder . te mandei ai um video como exemplo

[#VIDEO-23#]
Responder

Gostei + 0

21/11/2008

Guinther Pauli

Vamos lá Carlos, Assistindo o seu vídeo, ficou mais claro, para entender qual é a sua necessidade, sendo assim segue abaixo o exemplo que vc deve criar. Declare as seguintes variáveis var  dia, mes, ano : Word;  DataSelecionada : TDateTime; Faça um case, como comentou baseado no que foi selecionado no comboBox, veja temos la.. Dia       è se selecionar o dia o índice é 0 Mês     è se selecionar o mês o índice é 1 Semana è se selecionar a semana o índice é 2 Ano è se selecionar o ano o índice é 3 Geral è se selecionar geral o índice é 4 Entendido essa questão, vamos ao case case ComboBox1.ItemIndex of   0:  // significa que selecionou o primeiro que é o dia    begin     // pegar o dia para isso uso a funcao abaixo     DecodeDate(Date, ano, mes, dia);     // sendo assim eu tenho o dia atual gravado na variavel dia.     // veja o Date acima retorna sempre a data atual da máquina(micro)    end;     1: // significa que selecionou a semana    begin     DataSelecionada:= StartOfTheWeek(Date);     DecodeDate(DataSelecionada,ano, mes, dia);     // a funcao acima retorna o primeiro dia da semana, baseado na data, que no caso     // Date é a data de hj da máquina;    end;     2: // significa que selecionou o mes    begin     DataSelecionada:= StartOfTheMonth(Date);     DecodeDate(DataSelecionada,ano, mes, dia);     // a funcao acima retorna o primeiro dia do mes, baseado na data, que no caso     // Date é a data de hj da máquina;    end;     3: // significa que selecionou o ano    begin     DataSelecionada:= StartOfTheYear(Date);     DecodeDate(DataSelecionada,ano, mes, dia);     // a funcao acima retorna o primeiro dia do ano, baseado na data, que no caso     // Date é a data de hj da máquina;    end;  end;   Veja sempre que eu utilizo a função DecodeData, ela recebe como primeiro parâmetro a data que eu quero “abrir” digamos assim, ou seja Date que é a data atual do micro, depois eu passo qual é a variável que ira receber o ano dessa data, depois o mês e depois o dia, Dessa forma sempre que o usuário selecionar uma opção no combo, vc terá o dia ou o mês ou o ano com o valor que vc precisa, conforme a seleção. Quanto a questão da hora, vc não precisa se preocupar, pois o quando vc passar um dia como parâmetro. Por exemplo hj, vc passou la como parâmetro o dia 21/11/2008, e quer receber todos os registros desse dia, o próprio Delphi irá colocar a hora inicial e hora final, em todos os casos, informando o dia ele pega a hora inicial e final. Outro detalhe com o exemplo acima vc esta recebendo o dia inicial, somente no caso de ser escolhido o filtro por dia, que é o mesmo, ou seja da inicial do filtro e final do filtro, caso contrário, vc sempre vai passar como parâmetro a data inicial escolhida e a final DATE, que é sempre o dia de hj.   Espero ter lhe ajudado agora. Aguardamos seu retorno,  abs
Responder

Gostei + 0

21/11/2008

Carlos Faria

Boa noite guinter Infelizmento eu nao consegui executar ,nao foi falta de ler. Infelismente eu ainda sou inicante no delphi eu nunca fiz nada parecido com isso ? Exemplo como fazer uma case e informando essa condicao que se o usuario selecionar o combotempo e o radiobutonbairro lista a proc tal ? Eu gostaria se possivel que vc criasse um video me mostrando uns 2 ou 3 exemplos criando essa situação da meu aplicativo se possivel .

[#VIDEO-24#]
Responder

Gostei + 0

23/11/2008

Guinther Pauli

Carlos, Segue link de uma vídeo-aula que preparamos para você, http://video.devmedia.com.br/RicardoBoaro/Consultoria/Chamado691.zip   Aguardamos seu retorno, abs
Responder

Gostei + 0

24/11/2008

Guinther Pauli

Bom dia Carlos,   Podemos encerrar esse chamado ?     abs
Responder

Gostei + 0

24/11/2008

Carlos Faria

me da so mais um dia para tentar matar aqui ok ! As vezes eu nao respondo durante o dia pq trabalho a noite e so acordo as 16:00 ate amanha agente fecha esse chamado aqui !
Responder

Gostei + 0

24/11/2008

Carlos Faria

observaçoes cada opção do radio butum chama um proc diferente tem um procedure criado no banco para cada opção no dbgrid.datasource configurei o datasource em rumtime

[#VIDEO-26#]
Responder

Gostei + 0

26/11/2008

Guinther Pauli

Carlos,   Segue link da vídeo-aula que fizemos para você com intuito de "zerar" sua dúvida.   http://video.devmedia.com.br/RicardoBoaro/Consultoria/Chamado691-Retorno.zip     Aguardamos seu retorno para encerrarmos o chamado,   abs
Responder

Gostei + 0

26/11/2008

Carlos Faria

Pode fechar o chamado professor a duvida foi exclarecida e consegui reproduzir o exemplo aqui !
Responder

Gostei + 0

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

Aceitar