Sign in to follow this  
baladaclick

Filtrando Datas

Recommended Posts

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

meu code

<%
PagAtual = Request.QueryString("PagAtual") 'página atual

Set Conn = server.createobject("adodb.connection")
DSNtest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("banco/netdbf.mdb")
Conn.Open DSNtest

id_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 THEN
registros = "*"
tabela = "clientes"
aonde = "where id_consultor = " & session("id_consultor") 
ordem = "order by aprovacao"
e = "and"

ELSEIF id_perfil = 2 THEN
registros = "*"
tabela = "clientes"
aonde = "where id_regional = " & session("id_regional")
ordem = "order by aprovacao"
e = "and"

ELSEIF id_perfil = 3 THEN
registros = "*"
tabela = "clientes"
aonde = "where"
ordem = "order by aprovacao"
e = ""

END IF

Set RS = Server.CreateObject("ADODB.Recordset") 'acrescentei por causa da paginação

data_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 a data de 01/05/2007 até 02/05/2007 mas ele filtra outras vendas também que não estão nesta data.

esse é o problema. valeu moçada

Share this post


Link to post
Share on other sites

Foi o que eu te disse no tópico anterior... se você deixa data como texto vai da esses problemas... como filtrar sendo que ele não ve 02/05/2007 como data e sim como texto??

tente mudar para date

Share this post


Link to post
Share on other sites

eu coloquei como formato data. ele não aceita "0" a esquerda. eu coloco 01/05/2007 ele deixa como 1/5/2007

teria como deixar o "0" a esquerda ou é um formato único mesmo?

galera já resolvi essa do 0 a esquerda

na propriedade de formato eu coloquei DD/MM/YYYY

agora vou testar o filtro

Share this post


Link to post
Share on other sites

mas não é por causa disso que ele não filtra... eu uso uma funcao final que adiciona os 0 para o formato XX/XX/XXXX

Share this post


Link to post
Share on other sites

Viu, coloquei o campo com formato data deu td certinho.

agora surgiu mais um problema

quando vou pedir p me mostrar os registros do dia 01/05/2007 até 02/05/2007 ele dá essa mensagem:

"Tipo de erro:

Microsoft JET Database Engine (0x80040E07)

Tipo de dados imcompatível na expressão de critério.

/sam/pesquisa_relatorio.asp, line 44 "

o que eu tenho que colocar no meu codigo p que isso não aconteça? isso deve ser porque eu mudei o campo de texto para data. ele deve estar tratando este campo como texto ainda não é?. me corrijam se eu estiver errado. sou meio chato mesmo, porque eu procuro entender as coisas que acontecem hehehe. valeu moçada

meu code

Set RS = Server.CreateObject("ADODB.Recordset") 'acrescentei por causa da paginação

data_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

Share this post


Link to post
Share on other sites

tenta assim:

SQL = "select "& registros &" FROM "& tabela &" "&aonde&"  "&e&" data between #"&data_inicial&"# and #"&data_final&"#"

Share this post


Link to post
Share on other sites

uia deu certo. mas olha que estranho. ele inverte a pesquisa. eu faço o filtro de 01/05/2007 e ele me retorna datas 05/01/2007, ele inverte o mês e dia.

andrea o que é # que você colocou na string?

eu tentei resolver colocando no topo do meu codigo isso: <%Session.LCID = 1046%>

mas não deu certo

eu colocando esse <%Session.LCID = 1046%> eu teria que setar alguma coisa???

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this