Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ODIR

erro de data

Recommended Posts

estou com um problema crie uma tabela de consulta de um db o filtro é por data dai eu digito no 20/10/2007 26/10/2007

 

e ele responde

 

20/10/2007 ........

20/10/2007 ........

23/10/2007 ........

23/10/2007 ........

"23/11/2007 ........"

"24/11/2007 ........"

26/10/2007 .........

26/10/2007 .........

 

 

o codigo é o seguinte

 

ASP
Dim objConn, objRs, strQuery, strConnection, id, ordem, cod, nota, peso, codgrupom, emissao, vencimento, valor, totalpago

nota = Request.QueryString("nota")

peso = Request.QueryString("peso")

codgrupo = Request.QueryString("codgrupo")

codforn = Request.QueryString("codforn")

emissao = Request.QueryString("emissao")

vencimento = Request.QueryString("vencimento")

valor = Request.QueryString("valor")

totalpago = Request.QueryString("totalpago")

id = Request.QueryString("radio")

D1 = Request.QueryString("D1")

'Conectando com o banco de dados contato.mdb

Set objConn =  Server.CreateObject("ADODB.Connection")

objConn.Open "DBQ=" & "d:weblocaluserarrozvivamariabancocontato.mdb" & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"

if codgrupo <> "" and emissao <> "" and vencimento <> "" then

strQuery = "SELECT * FROM pg where codgrupo = '"&codgrupo&"' and (vecimento = '"&emissao&"' or vecimento > '"&emissao&"' and vecimento < '"&vencimento&"' or vecimento = '"&vencimento&"')ORDER BY vecimento asc"

'Response.Write(strQuery) : Response.End()

 

elseif codforn <> "" and emissao <> "" and vencimento <> "" then

strQuery = "SELECT * FROM pg where codfornecedor = '"&codforn&"' and (vecimento = '"&emissao&"' or vecimento > '"&emissao&"' and vecimento < '"&vencimento&"' or vecimento = '"&vencimento&"') ORDER BY vecimento asc"

'Response.Write(strQuery) : Response.End()

 

elseif emissao <> "" and vencimento <> "" then

strQuery = "SELECT * FROM pg where vecimento = '"&emissao&"' or vecimento = '"&vencimento&"' or vecimento > '"&emissao&"' and vecimento < '"&vencimento&"' ORDER BY vecimento asc"

'Response.Write(strQuery) : Response.End()

Set ObjRs = objConn.Execute(strQuery)

 

 

acho que os campos emissao e vecimento tem que ser tratados como data mas nao sei como faz isso

 

 

 

valeu odir

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não tenho costume de trabalhar com Access mas pelo que sei você precisa colocar as datas sempre entre #.

Por exemplo: #data#.

 

Me desculpe e peço que me corrijam se eu estiver errado.

 

[]tz ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema é o formato da datano access utilize mm/dd/aaaa na consulta

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode montar a data por parte usando funçoes de data como DAY, MONTH e YEAR

Compartilhar este post


Link para o post
Compartilhar em outros sites

DATA = "dd/mm/aaaa"NovaDATA = MONTH(DATA) & "/" & DAY(DATA) & "/" & YEAR(DATA)

Compartilhar este post


Link para o post
Compartilhar em outros sites

o cara agora esta acontecendo uma coisa engracada no access ele retorna certo mas no form ele so retorna a primeira data no caso os que se referem ao 20/10/2007o cara simplesmente nao dapara entender oque esta acontecendo no access ele faco a consulta e todas dao certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao entendi o qeu disse sobre o form

Compartilhar este post


Link para o post
Compartilhar em outros sites

como está fazendo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

DATA = emissaoemissao = MONTH(DATA) & "/" & DAY(DATA) & "/" & YEAR(DATA)DATA = vencimentovencimento = MONTH(DATA) & "/" & DAY(DATA) & "/" & YEAR(DATA)if codgrupo <> "" and emissao <> "" and vencimento <> "" then strQuery = "SELECT * FROM pg where codgrupo = '"&codgrupo&"' and (vecimento = #"&emissao&"# or vecimento > #"&emissao&"# and vecimento < #"&vencimento&"# or vecimento = #"&vencimento&"#)ORDER BY vecimento asc"'Response.Write(strQuery) : Response.End()

 

Response.Write(strQuery) : Response.End()

SELECT * FROM pg where vecimento = #10/20/2007# or vecimento = #10/30/2007# or vecimento > #10/20/2007# and vecimento < #10/30/2007# ORDER BY vecimento asc

que da certo no access

 

mas na consulta no asp retorna

 

somente os dados do dia 20/10/2007

Compartilhar este post


Link para o post
Compartilhar em outros sites

essa sua consulta ta estranha porque nao faz maior ou igual a uma data e menor ou igual a outra outraou usa um between

Compartilhar este post


Link para o post
Compartilhar em outros sites
SELECT * FROM pg WHERE vecimento BETWEEN #10/20/2007# AND vecimento = #10/30/2007# ORDER BY vecimento asc

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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