Ir para conteúdo

POWERED BY:

Arquivado

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

lams

campo pesquisa entre datas

Recommended Posts

Pessoal,

Tudo bem? estou precisando de uma ajuda de vcs...

Tenho um campo de pesquisa na minha página pesquisa no campo "dt_fechamento" duas datas....ex.: "15/08/2007" entre "16/08/2007"

O problema é o seguinte, qdo mando pesquisar, só compara a primeira parte da data, só os dias... ele retorna todas as datas entre 15 e 16 mas ignora data e ano...

Será q alguem poderia me ajudar?

 

nesse html abaixo:

 

<tr>	  <td nowrap><font face="Verdana" size="1">Data Fechamento</font></td>		<td colspan="2"><input type="text"  name="entre_fechamento2" maxlength="10" size="10" title="Entre com a data no formato: DD/MM/AAAA" onkeyup="formatar(this,'##/##/####',event)" >		<font face="Verdana" size="1">entre </font><input type="text" name="entre_fechamento3"  title="Entre com a data no formato: DD/MM/AAAA" maxlength="10" size="10" onkeyup="formatar(this,'##/##/####',event)"> </font></td>		</tr>

E o meu código ASP é esse abaixo:

 

' Data fechamento entre Data de fechamento if not IsEmpty(Request("entre_fechamento2")) and not IsEmpty(Request("entre_fechamento3")) then	EntreDtFechamento2 = trim(Request("entre_fechamento2"))	EntreDtFechamento3 = trim(Request("entre_fechamento3"))	if EntreDtFechamento2 <> "" and EntreDtFechamento3 <> "" then		if blnWhere then strSQL2 = strSQL2 & "AND " else strSQL2 = strSQL2 & "WHERE " : blnWhere = true		strSQL2 = strSQL2 &  "( Dt_fechamento >= '"  & Request("entre_fechamento2") & "'  AND  Dt_fechamento  >= '"  & Request("entre_fechamento2") & "'   AND  Dt_fechamento >= '"  & Request("entre_fechamento2") & "' 	 		  AND  Dt_fechamento <= '"  & Request("entre_fechamento3") & "' AND  Dt_fechamento <= '"  & Request("entre_fechamento3") & "' AND  Dt_fechamento <= '"  & Request("entre_fechamento3") & "') "	end ifend if

Compartilhar este post


Link para o post
Compartilhar em outros sites

a depender do banco use assim:

 

Where Dt_fechamento Between '" &Request("entre_fechamento2")&"' And '"&Request("entre_fechamento3")&"'

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa between(entre) e no between é mes/dia/ano ou senão você tbm pode fazer

where data_ini >= EntreDtFechamento2  and data_fim <= EntreDtFechamento3
Usei o exemplo q você me passou, mas não funfo nao...
where data_ini >= EntreDtFechamento2  and data_fim <= EntreDtFechamento3
Como posso aplicar o between aqui?

Compartilhar este post


Link para o post
Compartilhar em outros sites

a depender do banco use assim:

Where Dt_fechamento Between '" &Request("entre_fechamento2")&"' And '"&Request("entre_fechamento3")&"'
Ted'K , fiz assim:
strSQL2 = strSQL2 & "Dt_fechamento Between '" &Request("entre_fechamento2")&"' And '"&Request("entre_fechamento3")&"' "
Conforme sugeriu, mas mesmo assim só ta comparando dias...ta dificil...hehehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

ñ lembro bem mais no SQL SERVER as datas são nesse formato: yyyy-mm-dd

 

é só você configurar:

 

Dim Data1, Data2

Data1 = Year(Replace(Request.Form("entre_fechamento2"), "'", "''")) &"-"& Right("0"&Month(Replace(Request.Form("entre_fechamento2"), "'", "''")),2) &"-"& Right("0"&Day(Replace(Request.Form("entre_fechamento2"), "'", "''")),2)

Data2 = Year(Replace(Request.Form("entre_fechamento3"), "'", "''")) &"-"& Right("0"&Month(Replace(Request.Form("entre_fechamento3"), "'", "''")),2) &"-"& Right("0"&Day(Replace(Request.Form("entre_fechamento3"), "'", "''")),2)

strSQL2 = strSQL2 & "Dt_fechamento Between '"&Data1&"' And '"&Data2&"' "

Compartilhar este post


Link para o post
Compartilhar em outros sites

ñ lembro bem mais no SQL SERVER as datas são nesse formato: yyy-mm-ddé só você configurar:

Dim Data1, Data2Data1 = Year(Replace(Request.Form("entre_fechamento2"), "'", "''")) &"-"& Right("0"&Month(Replace(Request.Form("entre_fechamento2"), "'", "''")),2) &"-"& Right("0"&Day(Replace(Request.Form("entre_fechamento2"), "'", "''")),2)Data2 = Year(Replace(Request.Form("entre_fechamento3"), "'", "''")) &"-"& Right("0"&Month(Replace(Request.Form("entre_fechamento3"), "'", "''")),2) &"-"& Right("0"&Day(Replace(Request.Form("entre_fechamento3"), "'", "''")),2)strSQL2 = strSQL2 & "Dt_fechamento Between '"&Data1&"' And '"&Data2&"' "
putzz cara....o vacilao q criou as tabelas aqui deixou esse campo como nvarchar...assim fica dificil de comparar as datas...hehehvo arrumar isso aqui, achoq vai funcionar...valeuuu pela atenção brother

Compartilhar este post


Link para o post
Compartilhar em outros sites

(hehehe), ñ iria dar mesmo (ahuahua), mais faz parte. Teste e coloque a resposta cara

É cara, agora peguei o campo de data de entrada que está como smalldatetimefazendo naquele esqkema:
strSQL2 = strSQL2 & "convert(char,dt_abertura,103)  Between '" &Request("entre_abertura2")&"' And '"&Request("entre_abertura3")&"' "
Deu o mesmo problema, nao entendi....só compara o dia...

Compartilhar este post


Link para o post
Compartilhar em outros sites

você trocou o campo para date e tentou o código que coloquei???

 

Dim Data1, Data2

Data1 = Year(Replace(Request.Form("entre_fechamento2"), "'", "''")) &"-"& Right("0"&Month(Replace(Request.Form("entre_fechamento2"), "'", "''")),2) &"-"& Right("0"&Day(Replace(Request.Form("entre_fechamento2"), "'", "''")),2)

Data2 = Year(Replace(Request.Form("entre_fechamento3"), "'", "''")) &"-"& Right("0"&Month(Replace(Request.Form("entre_fechamento3"), "'", "''")),2) &"-"& Right("0"&Day(Replace(Request.Form("entre_fechamento3"), "'", "''")),2)

strSQL2 = strSQL2 & "Dt_fechamento Between '"&Data1&"' And '"&Data2&"' "

Compartilhar este post


Link para o post
Compartilhar em outros sites

você trocou o campo para date e tentou o código que coloquei???

 

Dim Data1, Data2Data1 = Year(Replace(Request.Form("entre_fechamento2"), "'", "''")) &"-"& Right("0"&Month(Replace(Request.Form("entre_fechamento2"), "'", "''")),2) &"-"& Right("0"&Day(Replace(Request.Form("entre_fechamento2"), "'", "''")),2)Data2 = Year(Replace(Request.Form("entre_fechamento3"), "'", "''")) &"-"& Right("0"&Month(Replace(Request.Form("entre_fechamento3"), "'", "''")),2) &"-"& Right("0"&Day(Replace(Request.Form("entre_fechamento3"), "'", "''")),2)strSQL2 = strSQL2 & "Dt_fechamento Between '"&Data1&"' And '"&Data2&"' "
Tentei assim:

'busca por nº Data Abertura entre Data de abertura if not IsEmpty(Request("entre_abertura2")) and not IsEmpty(Request("entre_abertura3")) then	EntreDtAbertura2 = trim(Request("entre_abertura2"))	EntreDtAbertura3 = trim(Request("entre_abertura3"))	Dim Data1, Data2Data1 = Year(Replace(Request.Form("entre_fechamento2"), "'", "''")) &"-"& Right("0"&Month(Replace(Request.Form("entre_fechamento2"), "'", "''")),2) &"-"& Right("0"&Day(Replace(Request.Form("entre_fechamento2"), "'", "''")),2)Data2 = Year(Replace(Request.Form("entre_fechamento3"), "'", "''")) &"-"& Right("0"&Month(Replace(Request.Form("entre_fechamento3"), "'", "''")),2) &"-"& Right("0"&Day(Replace(Request.Form("entre_fechamento3"), "'", "''")),2)	if EntreDtAbertura2 <> "" and EntreDtAbertura3 <> "" then		if blnWhere then strSQL2 = strSQL2 & "AND " else strSQL2 = strSQL2 & "WHERE " : blnWhere = true		strSQL2 = strSQL2 & "Dt_fechamento Between '"&Data1&"' And '"&Data2&"' "	end ifend if[code]Deu esse erro:Microsoft VBScript runtime  error '800a000d'Type mismatch: '[string: ""]'/teste/modificar/rel_demanda.asp, line 264 a linha é essa [code]Data1 = Year(Replace(Request.Form("entre_fechamento2"), "'", "''")) &"-"& Right("0"&Month(Replace(Request.Form("entre_fechamento2"), "'", "''")),2) &"-"& Right("0"&Day(Replace(Request.Form("entre_fechamento2"), "'", "''")),2)
agora o campo esta como smalldatetime

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.