Ir para conteúdo
mm_edilson

Aniversários entre duas datas

Recommended Posts

Boa tarde. Preciso que minha query retorne os aniversariantes entre duas datas selecionadas em dois datetimepickers. 

 

Fiz assim:

	//Realiza a consulta 	Adoquery1.Close; 	Adoquery1.SQL.Clear; 	Adoquery1.SQL.Add('Select * from CadPessoas'); 	ADOQuery1.SQL.add('where ((Month(DtNasc) * 100) + Day(DtNasc)) between :DtNascIni and :DtNascFim'); 	AdoQuery1.SQL.add('Order by DtNasc'); 	ADOQuery1.Parameters.ParamByName('DtNascIni').Value := MonthOf(DateTimePicker1.DateTime) * 100 + DayOf(DateTimePicker1.DateTime); 	ADOQuery1.Parameters.ParamByName('DtNascFim').Value := MonthOf(DateTimePicker2.DateTime)*100 + DayOf(DateTimePicker2.DateTime); 	AdoQuery1.Open;
	

 

Só que ele ta confundindo os meses que tem o numero 1. Por exemplo, fiz uma consulta entre 01 de Janeiro e 01 de fevereiro. Ele retornou todos os aniversariantes de outubro, novembro, dezembro e janeiro. Já se a consulta for entre fevereiro e março, por exemplo, que não envolve meses que começam com o numero 1, dá certinho. 

 

Alguém poderia ajudar? Uso Delphi 7 e Access.

Compartilhar este post


Link para o post
Compartilhar em outros sites

boa noite amigo, eu faço assim e funciona perfeitamente, porem utilizo  dbxpress, + basta colocar a sql na forma q esta q vai funcionar tb, no caso abaixo eu comparo os dias somente, no caso abaixo seleciono o mes e o periodo  (entre o dia d1 e o dia d2 no mes desejado)

simpledataset1.Active:=False;
simpledataset1.dataset.CommandText := 'SELECT CODIGO,NOME, NASCIMENTO,TELEFONE FROM CLIENTES WHERE EXTRACT(MONTH FROM NASCIMENTO)=:MES AND EXTRACT(DAY FROM NASCIMENTO) BETWEEN :D1 AND :D2 ORDER BY EXTRACT(DAY FROM NASCIMENTO)';
SIMPLEDataSet1.dataset.ParamByName('Mes').AsInteger := StrToInt(Edit1.Text);
SIMPLEDataSet1.dataset.ParamByName('d1').AsInteger := StrToInt(Edit2.Text);
SIMPLEDataSet1.dataset.ParamByName('d2').AsInteger := StrToInt(Edit3.Text);
simpledataset1.Active:=True;
 

espero que te ajude de alguma forma

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Joelend
      Estou utilizando TPasLibVlcPlayer para reprodução de videos e preciso que estes sejam exibidos sem áudio. 
      Tentei utilizar a função "vlc.SetAudioMute(true); " porem não funcionou... 
      Olhando a documentação encontrei isso: 

      "Aviso 
      Esta função nem sempre funciona. Se não houver fluxo de reprodução de áudio ativo, o status de mudo poderá não estar disponível. Se a passagem digital (S / PDIF, HDMI ...) estiver em uso, o muting pode não ser aplicável. Além disso, alguns plug-ins de saída de áudio não suportam muting. 
      Nota 
      Para forçar a reprodução silenciosa, desative todas as faixas de áudio. Isso é mais eficiente e confiável do que o mudo." 

      No meu caso, estou utilizando o HDMI. Minha duvida é sobre como desativar as faixas de audio. 

      Alguém saberia ajudar?
    • Por felk_fel@hotmail.com
      Boa tarde a todos!

      De vez em quando, acontece isso comigo, o Delphi compila a aplicação mas ela não roda ou fecha sozinha...Para resolver eu estou sempre tendo que fechar o delphi e criar uma nova aplicação. Alguém poderia me ajudar conforme o vídeo abaixo?

      https://www.youtube.com/watch?v=cFBJSS5yTN8

      Agradeço pela atenção.
    • Por Felipe Garciax
      Ola,
       
      Estou com o seguinte problema, no formulario principal do meu projeto tenho um SplitView e um Image em AlClient com uma imagem em 193 kb, ao abrir e fechar o SplitView em execucao a imagem PISCA, ja usei no OBJECT INSPECTOR o DoubleBuffered em TRUE tanto para o form quanto para o SplitView e o problema persiste, ja fiz o teste no codigo tanto para o EVENTO OnShow e OnCreat:
      DoubleBuffered :=True;  e nenhum resultado... Help Me
    • Por ericborrero
      Boa Noite a todos ....
       
      aguem pode me ajudar com esse código.... preciso que ele procure o menor valor e não o maior como esta aqui
       
       
       
      Procedure TfrmAvaliacao.PiorTempo;
      var
        ArrayString: Array [1 .. 5] of string;
        PiorTempo: string;
        i: Integer;
      begin
        ArrayString[1] := dbtext2.Caption;
        ArrayString[2] := dbtext4.Caption;
        ArrayString[3] := dbtext6.Caption;
        ArrayString[4] := dbtext8.Caption;
        ArrayString[5] := dbtext10.Caption;
        PiorTempo := EmptyStr;
          for i := low(ArrayString) to high(ArrayString) - 1 do
          if PiorTempo < ArrayString then
            PiorTempo := ArrayString;

        Label210.Caption := PiorTempo;
       
      end;
       
    • Por Remeling
      Ola pessoal,
      Estou fazendo um sistema web em Delphi xe8 Intraweb, coloco os objetos no form e quando vou compilar o sistema, aparece somente a pagina em branco, o que estou fazendo errado.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.