Ir para conteúdo

POWERED BY:

Arquivado

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

tr374

data em access tipo texto

Recommended Posts

Olá estou com um problema de datas,

na verdade não é mais datas pois estou gravando os dados no BD tipo texto,

Alguem poderia me ajudar?

Quero buscar os registros com data menor que hoje.

Para adiantar já imprimi a SQL abaixo juntamente com o erro:

 

SELECT * FROM boleto WHERE RIGHT(datav,4) < 2005 AND MID(datav,4,2) < 07 AND LEFT(datav,2) < 27 situacao ='i' ORDER BY RIGHT(datav,4) ASC, MID(datav,4,2) ASC, LEFT(datav,2) ASC Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'RIGHT(datav,4) < 2005 AND MID(datav,4,2) < 07 AND LEFT(datav,2) < 27 situacao ='i''.

datav é uma data tipo texto invertida (hoje=20050727)

 

já tentei : SELECT * FROM boleto WHERE cdate(datav) < data_hoje situacao ='i' ORDER BY RIGHT(datav,4) ASC, MID(datav,4,2) ASC, LEFT(datav,2) ASC

mas também não funcionou.

 

A

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara .... se este campo é do tipo texto .. você tem que colocar aspas meu.. tipo

SELECT * FROM boleto WHERE RIGHT(datav,4) < '2005' AND MID(datav,4,2) < '07' AND LEFT(datav,2) < '27' AND situacao ='i' ORDER BY RIGHT(datav,4) ASC, MID(datav,4,2) ASC, LEFT(datav,2) ASC

Se naum dá pau mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

ufa! sql funcionando:blistar = "SELECT * FROM boleto WHERE RIGHT(datav,4) <= "&ano&" and MID(datav,4,2) <= "&mes&" AND LEFT(datav,2) <= "&dia&" ORDER BY RIGHT(datav,4) ASC, MID(datav,4,2) ASC, LEFT(datav,2) ASC"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ops!!

 

Agora sim!

 

se liga nessas duas selects 'dica útil

 

ASP

[*]'a vencer

 

[*]

 

[*]data_invertida = ano&mes&dia

 

[*] blistar "SELECT * FROM boleto WHERE RIGHT(datav,4)*10000+MID(datav,4,2)*100+LEFT(datav,2) >="&data_invertida&" ORDER BY RIGHT(datav,4) ASC, MID(datav,4,2) ASC, LEFT(datav,2) ASC"

 

 

ASP

[*]'vencidos

 

[*]

 

[*] blistar "SELECT * FROM boleto WHERE RIGHT(datav,4) <= "&ano&" and MID(datav,4,2) <= "&mes&" AND LEFT(datav,2) <= "&dia&" ORDER BY RIGHT(datav,4) ASC, MID(datav,4,2) ASC, LEFT(datav,2) ASC"

 

[]´s

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.