SQL PERIODO DE DATAS

LEANDRO.BUENO 30/11/2009 10:20:04
#328825
Ola amigos tenho uma tabela de pedido de vendas e fiz a seginte SQL:

Dim Procurar As String
Dim ProcurarA As String

Procurar = InputBox([Ô]Digite o Cliente desejado para Consulta:[Ô], , [Ô][Ô])
ProcurarA = InputBox([Ô]Digite o Mês desejado para Consulta:[Ô], , [Ô][Ô])

Set var_sql = bancodedados.OpenRecordset([Ô]SELECT * FROM PedidoVenda WHERE Cliente=[ô][Ô] & Procurar & [Ô][ô] and mes = [ô][Ô] & ProcurarA & [Ô][ô] order by format(dataprevista, [ô]yyyy/mm/dd[ô])[Ô], dbOpenDynaset)

Como podem ver nesta Sql seleciona o cliente e o mês e ordeno o resultado por ordem de dataprevista.

Agora estou com a seguinte duvida:
Como faço para fazer com que liste nesta SQL no lugar do Mês fazer periodo de datas? tipo data de inicio e data de fim? deixando o cliente e por ordem de data prevista?

Tentei de varias formas e não consegui, alguem pode me ajudar?
TECLA 30/11/2009 10:38:30
#328828
Resposta escolhida
SELECT * 
FROM PedidoVenda
WHERE Cliente=[ô]VBMANIA[ô]
AND dataprevista
BETWEEN [ô]2009-01-01[ô] AND [ô]2009-12-31[ô]
LEANDRO.BUENO 30/11/2009 10:46:10
#328830
TECLA, fiz assim:

Set var_sql = bancodedados.OpenRecordset([Ô]SELECT * FROM PedidoVenda WHERE Cliente=[ô][Ô] & Procurar & [Ô][ô] and dataprevista between = [ô][Ô] & ProcurarA & [Ô][ô] and [ô][Ô] & ProcurarB & [Ô][ô] order by format(dataprevista, [ô]yyyy/mm/dd[ô])[Ô], dbOpenDynaset)


mas esta dando erro.
segue erro em anexo.
LEANDRO 30/11/2009 11:11:33
#328833
Supondo que o ProcuraA e o ProcuraB sejam mascaras.

Set var_sql = bancodedados.OpenRecordset([Ô]SELECT * FROM PedidoVenda WHERE Cliente=[ô][Ô] & Procurar & [Ô][ô] and dataprevista between = [ô][Ô] & format(ProcurarA.FormattedText, [Ô]yyyy-mm-dd[Ô]) & [Ô][ô] and [ô][Ô] & format(ProcurarB.FormattedText, [Ô]yyyy-mm-dd[Ô]) & [Ô][ô] order by format(dataprevista, [ô]yyyy/mm/dd[ô])[Ô], dbOpenDynaset)


Se For Varaveis ou campo Texto

Set var_sql = bancodedados.OpenRecordset([Ô]SELECT * FROM PedidoVenda WHERE Cliente=[ô][Ô] & Format(Procurar,[Ô]yyyy-mm-dd[Ô]) & [Ô][ô] and dataprevista between = [ô][Ô] & ProcurarA & [Ô][ô] and [ô][Ô] & format(ProcurarB,[Ô]yyyy-mm-dd[Ô]) & [Ô][ô]  order by format(dataprevista, [ô]yyyy/mm/dd[ô])[Ô], dbOpenDynaset)

LEANDRO.BUENO 30/11/2009 11:22:00
#328837
Então o Procurar é um imputbox.

Dim Procurar As String
Dim ProcurarA As Date
Dim ProcurarB As Date

Procurar = InputBox([Ô]Digite o Cliente desejado para Consulta:[Ô], , [Ô][Ô])
ProcurarA = InputBox([Ô]Digite a Data Inicio desejada para Consulta:[Ô], , [Ô][Ô])
ProcurarB = InputBox([Ô]Digite a Data Final desejada para Consulta:[Ô], , [Ô][Ô])

Mesmo assim esta dando o mesmo erro, o que ser a que pode ser?
LEANDRO.BUENO 30/11/2009 11:28:40
#328840
[ô]Set var_sql = bancodedados.OpenRecordset([Ô]SELECT * FROM PedidoVenda WHERE Cliente=[ô][Ô] & Procurar & [Ô][ô] and dataprevista between = [ô][Ô] & Format(ProcurarA, [Ô]dd/mm/yyyy[Ô]) & [Ô][ô] and [ô][Ô] & Format(ProcurarB, [Ô]dd/mm/yyyy[Ô]) & [Ô][ô] order by format(dataprevista, [ô]yyyy/mm/dd[ô])[Ô], dbOpenDynaset)

Continua o erro.
RICART 30/11/2009 11:40:08
#328841
Não existe sinal de igualdade após a expressão between. Tem que ser between DataInicial and DataFinal. Tira o sinal de igual. Vc não aplicaou a resposta do TECLA da forma que foi informado.

LEANDRO.BUENO 30/11/2009 14:08:24
#328849
Realemnte ricard, não havia percibido, retirei o igual.

Mas ai esta dando erro no critério da expressão.

Set var_sql = bancodedados.OpenRecordset([Ô]SELECT * FROM PedidoVenda WHERE Cliente=[ô][Ô] & Procurar & [Ô][ô] and dataprevista between [ô][Ô] & ProcurarA & [Ô][ô] and [ô][Ô] & ProcurarB & [Ô][ô] order by format(dataprevista, [ô]yyyy/mm/dd[ô])[Ô], dbOpenDynaset)
Citação:

MARCELO.TREZE 30/11/2009 14:14:57
#328850
Qual o banco de dados
LEANDRO.BUENO 30/11/2009 14:17:46
#328851
Banco de Dados Access
TECLA 30/11/2009 14:22:59
#328853
Citação:

LEANDRO_BUENO escreveu:
Banco de Dados Access



SELECT * 
FROM PedidoVenda
WHERE Cliente=[ô]VBMANIA[ô]
AND dataprevista
BETWEEN #01/01/2009# AND #12/31/2009#


Lembre de formatar a data INICIAL e FINAL como MM/DD/YYYY.
Página 1 de 2 [12 registro(s)]
Tópico encerrado , respostas não são mais permitidas