Ir para conteúdo

POWERED BY:

Arquivado

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

lisa

Exibir determinadas datas - sql

Recommended Posts

seguinte pessoal...

 

meu banco tem um campo chamado data, que seria a data que foi criada

 

ou seja:

 

TABELA

 

ID data_criação

1 3/20/2006 5:51:32 PM

2 3/20/2006 5:51:32 AM

 

esse campo dat_criação, nada mas é que um <%=now%> que gravo no banco...

 

agora queria fazer um relatorio que exibisse todos os registros abertos de uma determinada ate ate outra.. ai fizum form com o seguinte:

 

form action="relatorio_resposta.asp" method="post" name="relatorio" id="relatorio"> De:			   <input name="dataini" type="text" id="dataini" value="<%=date%>"> ate  <input name="datafim" type="text" id="datafim" value="<%=date%>">   <input type="submit" name="Submit" value="Gerar Relatorio">	  			  </p>		  </form>

mas não estou conseguindo fazer o sql por causa das datas... como pegar so as datas e como fazer esse sql

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse campo é do tipo DATA? Se for é só usar o Between na sua SQL.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz isso e não funcionou...sqlview = "select * from request WHERE datahora_inicio BETWEEN '"& dataini&"' and '"&datafim&"'"Set ObjRs = objConn.Execute(sqlview) ' linha 53ERRO:Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression./tam2/relatorio_resposta.asp, line 53Consegui..mas ele so funciona se eu digitar tudo, por exemplo : 3/20/2006 5:51:32 PMqueria apenas digitar a data e aparecer... nao queria dif=gitar a hora.. é possivel???

Compartilhar este post


Link para o post
Compartilhar em outros sites

"Abrace" o campo na sua SQL com DATE().

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos la.. primeiro eu so consegui fazer o sql com o campo do tipo txt. e assim:

 

sqlview = "select * from request WHERE datahora_inicio >= '"& dataini&"'  and datahora_inicio <= '"&datafim&"'"Set ObjRs = objConn.Execute(sqlview)

da outra forma tava dando esse erro:

 

Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/tam2/relatorio_resposta.asp, line 53

 

Desculpa.. mas nao consegui entender o seu "abrçar", se puder me ajudar, ja agradeço desde já

Compartilhar este post


Link para o post
Compartilhar em outros sites
select * from request WHERE DATE(datahora_inicio) BETWEEN #"& dataini &"# and #"& datafim &"#;"

Isso deve rolar no Acces.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mudei no banco para date/time e substitui como você falou...veja o seguinte erro.

Wrong number of arguments used with function in query expression 'DATE(datahora_inicio) BETWEEN #3/20/2006# and #3/20/2006#'.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, pessoal.. fiz o seguinte:

 

sqlview = "select * from request WHERE cdate(datahora_inicio) BETWEEN #"& dataini &"# and #"& datafim &"#;"
usei o CDATE... mas agora ele da erro se a datafim for a o dia atual!

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.