INTERVALO ENTRE DATAS OU HORAS

MARCELO.VB.PIRA 04/03/2005 23:41:36
#71207
Olá!!!

Adivinhem!!! Eu de novo...

preciso fazer algumas listagens e para isso, eu preciso :

informar um momento atraves de duas variaveis:

PontoInicial = "23/03/2005" por exemplo
PontoFinal = "12/04/2005" por exemplo

e ter um comando, função ou reza-forte que retorne verdadeiro se um determinado momento estiver dentro do intervalo (30/03/2005 por exemplo) e falso se o mesmo momento estiver fora do intervalo (13/04/2005 por exemplo)


alem disso, eu tb precisaria do mesmissimo processo para montar uma consulta (sql) dentro de um banco de dados

tipo:

tenho um BD chamado VENDAS.MDB
dentro eu tenho uma tabela chamada VENDAS
dentro desta tabela, eu tenho um campo chamado Data_da_venda

terei duas variaveis assim:

DataInicial = "01/03/2005"
DataFinal = "15/03/2005"

precisaria de uma solução (um select talvez) que filtrasse num recordset (dataobject = DtVendas ) para mim todos os registros que estivessem dentro do intervalo informado pelas variaveis.

outra perguntinha basica: tudo isso que eu perguntei acima, é possivel fazer utilizando horas ao inves de datas??? ou até mesmo data e hora juntas??? tipo:
DataInicial = "01/03/2005 08:34:00"
DataFinal = "01/03/2005 16:34:00"
if momento= "01/03/2005 11:23:00" then true
if momento= "02/03/2005 11:23:00" then false
if momento= "01/03/2005 16:35:00" then false

Obrigado gente!!!!!


GIOVANI.ARRUDA 05/03/2005 02:40:16
#71211
Ve se isso ta ajuda

Select * from vendas where Data_da_venda between '#" & data1 & "#' and "#' & data2 & "#'"

Nuca testei com a hora junto
MARCELO.VB.PIRA 05/03/2005 10:20:18
#71224
vou testar, mas como ficaria um select que buscasse apenas as datas "vencidas"?? ou seja: as datas anteriores a uma determinadac data informada???

este between significa ENTRE as datas??

ou melhor: existe alguma apostila aqui no site dando todos os comandos possiveis para craição de clausulas de select, execute, etc???

Giovani... valeu mesmo, hein

Brigadão
GABRIEL.LOGAN 05/03/2005 10:41:55
#71228
THIAGO.CESAR 05/03/2005 12:06:13
#71230
Resposta escolhida
E ae Marcelo, blz?

Tem uma apostila aqui no site:
APOSTILA DE SQL

A maneira mais fácil de se aprender SQL é entrar no Access e brincar alguns momentos com o construtor de consulta dele. Você desenha sua consulta e depois a exibe no formato SQL... O Help do Access é excelente.

Quanto ao código do GIOVANI, me parece que vc deve retirar essas aspas simples que ele colocou antes do #, pois a aspa indica string e o # indica data/hora, portanto:
Select * from vendas where Data_da_venda  between #" & data1 & "# and #" & data2 & "#"

Você pode usar normalmente as outras comparações,ou seja
Where Data_da_venda > #" & data & "#", assim também com <, <=, >=, = e <>.

Outra atenção que deve ter quanto a datas é que em SQL elas costumam vir no formato mm/dd/yyyy.
GIOVANI.ARRUDA 05/03/2005 14:42:42
#71253
E ai THIAGO CESAR,

Kra quanto as aspas simples, realmente foi descuido. [S20]

MARCELO_VB_PIRA

Ai vai o comando bem mastigadinho, é só engolir

Busca entre duas datas:

"SELECT * FROM Vendas WHERE Data_da_venda BETWEEN #" & CDate(Format(Text1.Text, "DD/MM/YYYY")) & "# AND #" & CDate(Format(Text2.Text, "DD/MM/YYYY")) & "#"

Buscar Vencimentos:

"SELECT * FROM Vendas WHERE Data_da_venda < #" & CDate(Format(Text1.Text, "DD/MM/YYYY")) & "#

Acho que é isso intão
Tópico encerrado , respostas não são mais permitidas