Jump to content


Photo

Consulta Datas


  • Faça o login para participar
9 replies to this topic

#1 Deolinda

Deolinda

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado

Posted 16/05/2008, 11:13

Bom dia a todos

Estou a fazer uma bd sobre aniversários que me alerta para os aniversariantes no periodo de 10 dias e fiz uma consulta com os seguintes critérios

Campo: Dia([Data de Nascimento])
Critério: Entre Dia(Agora()-2) E Dia(Agora()+7)

Campo: Mês([Data de Nascimento])
Critério:Mês(Agora())

Isto funciona tudo muito bem quando o periodo está dentro do mesmo mes funciona, mas se o periodo está entre meses (ex:27Mai a 6Jun) já não funciona aparecem todos os registo do mes de jun.
A minha duvida é como faço o critério do mês.
Obrigada
:unsure:

#2 dgt

dgt

    diego^SCFC

  • Usuários
  • 281 posts
  • Sexo:Masculino
  • Localidade:Recife-PE
  • Interesses:Java, Delphi, PHP, SQL, Modelagem de Dados, CSS, Lógica de Programação (Algoritmos), Teoria em Banco de Dados

Posted 16/05/2008, 11:18

O ideal seria você colocar a data em um único campo, do tipo date.
Posted Image

#3 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 16/05/2008, 11:22

Aí é que está... não faz! hehehe
Ao invés de separa a data em Dia e Mês, utilize a data inteira!
Isso faz toda a diferença, pois vc não trata mais como um numérico... O SGBD trata como data e ele se vira sozinho ;)
A sintaxe varia de SGBD pra SGBD, mas se e quisesse fazer isso no PostgreSQL, seria assim:
SELECT campo_dt
FROM tabela WHERE campo_dt BETWEEN (CURRENT_DATE-2) AND (CURRENT_DATE+7)


#4 Deolinda

Deolinda

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado

Posted 16/05/2008, 11:36

Me desculpa mas não sei onde vou colocar este código

Obrigada
:huh:

#5 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 16/05/2008, 11:51

Deolinda...
Ahn... que banco de dados você usa?
Como você seleciona esses dados atualmente?

#6 Deolinda

Deolinda

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado

Posted 16/05/2008, 16:06

Boirock

Me desculpe mais uma vez mas eu fiz a consulta no access só não sei o que significa PostgreSQL, por isso não sei onde colocar o códico que me deu. Será num evento do formuário? não sei me ajuda.

Muito obrigada

#7 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 16/05/2008, 16:44

Ah... bem
PostgreSQL é um outro banco de dados robusto.
É como se fosse o Access, só que bem diferente. :ponder: (deu pra entender?)

O seu problema, Deolinda, é que vocÊ tem um campo pra dia e outro para mês, quando o certo seria ter um campo contendo a data completa.
Se você fizer isso, já melhora um monte. Pegou? (y)

#8 Deolinda

Deolinda

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado

Posted 16/05/2008, 20:18

Boirock

Se eu tiver um critério com a data completa já não tenho a data no intervalo de 10 dias.
Como posso fazer?

escrevo isto no critério= Entre Dia(Agora()-2) E Dia(Agora()+7) e como escrevo o mês.

Me desculpa se estou a fazer muitas perguntas mas não sei trabalhar muito bem com o access.
Muito obrigada

#9 dgt

dgt

    diego^SCFC

  • Usuários
  • 281 posts
  • Sexo:Masculino
  • Localidade:Recife-PE
  • Interesses:Java, Delphi, PHP, SQL, Modelagem de Dados, CSS, Lógica de Programação (Algoritmos), Teoria em Banco de Dados

Posted 17/05/2008, 23:37

Se você colocar o campo em formato DATE, que armazena a data completa, o banco de dados já trabalhará esse intervalo.

Você armazena a data '28/05/2008' e quer saber os 2 dias anteriores e os 7 próximos, fazendo o que boirock disse, retornará:

26/05/2008 e 04/06/2008.
Posted Image

#10 Deolinda

Deolinda

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado

Posted 18/05/2008, 19:02

Boas noite a todos

Com a vossa ajuda já consegui resolver o problemo das datas, por isso agradeço a todos quantos me ajudaram.

Obrigada
(y)




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq