Ir para conteúdo

POWERED BY:

Arquivado

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

baladaclick

problema com data invertida

Recommended Posts

Pessoal. tenho uma pagina aonde quero exibir dados de uma data inicial até uma data final

 

<%Session.LCID = 1046PagAtual = Request.QueryString("PagAtual") 'página atualSet Conn = server.createobject("adodb.connection")DSNtest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("banco/netdbf.mdb")Conn.Open DSNtestid_perfil = session("id_perfil")id_regional = session("id_regional")id_consultor = session("id_consultor")vendedor = session("vendedor")data_inicial = session("data_inicial")data_final = session("data_final")IF id_perfil = 1 THENregistros = "*"tabela = "clientes"aonde = "where id_consultor = " & session("id_consultor") ordem = "order by aprovacao"e = "and" ELSEIF id_perfil = 2 THENregistros = "*"tabela = "clientes"aonde = "where id_regional = " & session("id_regional")ordem = "order by aprovacao"e = "and"ELSEIF id_perfil = 3 THENregistros = "*"tabela = "clientes"aonde = "where"ordem = "order by aprovacao"e = ""END IFSet RS = Server.CreateObject("ADODB.Recordset") 'acrescentei por causa da paginaçãodata_inicial = request("data_inicial")data_final = request("data_final")SQL = "select "& registros &" FROM "& tabela &" "&aonde&" "&e&" data between #"&data_inicial&"# and #"&data_final&"#" RS.Open SQL, conn, 3%>

tipo no meu form eu coloco para filtrar registros da data de 01/05/2007 e ele me retorna registros com data invertida. me retorna registros com data 05/01/2007. ele inverte o dia com o mes.

 

alguém sabe o que pode ser?

 

valew moçada

 

meu banco é access

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá ...

 

No banco de dados, como está sendo gravado a data ?

 

Está no formato DD/MM/YYYY ou MM/DD/YYYY ?

 

Se a consulta está correta, ou seja, se tá te retornando os valores no intervalo correto, então monta a tua data usando o Day, Month e Year

 

Se tiver vindo 05/01/2007, vai retornar 01/05/2007:

right("0"&day(tabRec("data_banco")),2)&"/"&right("0"&Month(tabRec("data_banco")),2)&"/"&Year(tabRec("data_banco"))

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, eu pensei que se estiver retornando a consulta correta, ou seja, está te retornando os registros no período solicitado, então você poderia montar a data usando aquele exemplo.Mas o modo que o jonathandj mostrou é melhor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

vamos lá....no seu banco de dados está com qual formatação?ddmmaaaammddaaaaaaaammddaaaaddmm

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja se funciona

Function formataData2(formato,data,separador,lcidPais)	Dim dia, mes, ano	Dim novaData	if isnull(lcidPais) or lcidPais="" then		lcidPais = 1046	end if	Session.LCID = cint(lcidPais)	dia		  = right("0"&day(data),2)	mes		  = right("0"&month(data),2)	ano		  = right("0"&year(data),4)	formato	  = ucase(formato)	formato	  = replace(formato,"-","")	formato	  = replace(formato,"/","")		formato	  = replace(formato,".","")	formato	  = replace(formato,"Y","A")			Select case formato		case "DDMMAAAA"			novaData = dia&separador&mes&separador&ano		case "DDMMAA"			novaData = dia&separador&mes&separador&right(ano,2)		case "MMDDAAAA"			novaData = mes&separador&dia&separador&ano		case "MMDDAA"			novaData = mes&separador&dia&separador&right(ano,2)		case "AAAADDMM"			novaData = ano&separador&dia&separador&mes		case "AADDMM"			novaData = right(ano,2)&separador&dia&separador&mes		case "AAAAMMDD"			novaData = ano&separador&mes&separador&dia		case "AAMMDD"			novaData = right(ano,2)&separador&mes&separador&dia		case else			novaData = "ERRO"		End Select	formataData2 = novaData	End FunctionSQL = "select "& registros &" FROM "& tabela &" "&aonde&" "&e&" data between #"&formataData2("ddmmaaaa",data_inicial,".","")&"# and #"&formataData2("ddmmaaaa",data_final,".","")&"#"response.write(sql)

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.