Ir para conteúdo

POWERED BY:

Arquivado

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

Ivan.Teles

WHERE

Recommended Posts

em um sistema de busca tenho um forme com quatro campos. http://forum.imasters.com.br/public/style_emoticons/default/cry.gif http://forum.imasters.com.br/public/style_emoticons/default/cry.gif

 

meu formulário

<form action="result.asp" method="get" name="form1" target="_blank" id="form1">
  <table border="0" align="center">
	<tr>
	  <th colspan="4" bgcolor="#FF9900">REFERÊNCIA</th>
	  <td>
	</tr>
	<tr>
	  <td><select name="referencia" id="referencia">
		<option value="0">Selecione</option>
		<option value="1">Janeiro</option>
		<option value="2">Fevereiro</option>
		<option value="3">Março</option>
		<option value="4">Abril</option>
		<option value="5">Maio</option>
		<option value="6">Junho</option>
		<option value="7">Julho</option>
		<option value="8">Agosto</option>
		<option value="9">Setembro</option>
		<option value="10">Outubro</option>
		<option value="11">Novembro</option>
		<option value="12">Dezembro</option>
	  </select></td>
	  <td><label for="select"></label>
		<select name="ano1" id="ano1">
		  <option value="2005">2005</option>
		  <option value="2006">2006</option>
		  <option value="2007">2007</option>
		  <option value="2008">2008</option>
		  <option value="2009">2009</option>
		  <option value="2010">2010</option>
		</select>	  </td>
	  <td><select name="referencia1" id="referencia1">
		<option value="0">Selecione</option>
		<option value="1">Janeiro</option>
		<option value="2">Fevereiro</option>
		<option value="3">Março</option>
		<option value="4">Abril</option>
		<option value="5">Maio</option>
		<option value="6">Junho</option>
		<option value="7">Julho</option>
		<option value="8">Agosto</option>
		<option value="9">Setembro</option>
		<option value="10">Outubro</option>
		<option value="11">Novembro</option>
		<option value="12">Dezembro</option>
	  </select></td>
	  <td><select name="ano2" id="ano2">
		<option value="2005">2005</option>
		<option value="2006">2006</option>
		<option value="2007">2007</option>
		<option value="2008">2008</option>
		<option value="2009">2009</option>
		<option value="2010">2010</option>
	  </select></td>
	  <td><input type="submit" name="Submit" value="Buscar" /></td>
	</tr>
  </table>
</form>

minha WHERE

WHERE referencia >= MMmenor AND referencia <= MMmaior AND (ano>='var_ano1' and ano<='var_ano2')

é o seguinte: no meu banco de dados, existe o campo referencia do tipo numero que armazena o mes em numero 1,2,3,4, etc... e o campo ano do tipo texto que armazena o ano 2005, 2006, etc.. quando faço uma busca entre janeiro de 2005 a dezembro de 2005 ele me mostra todos os dados dentro do intervalo dos meses, até ai tranquilo, mas quando coloco de janeiro de 2005 a janeiro de 2006 ele não me mostra nada, se eu pesquisar de janeiro de 2006 a dezembro de 2006 ele me mostra tb tranquilo.

 

será que alguem pode me dar uma força.. http://forum.imasters.com.br/public/style_emoticons/default/excl.gif http://forum.imasters.com.br/public/style_emoticons/default/excl.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

como esta os campos em seu db estão como data???

Compartilhar este post


Link para o post
Compartilhar em outros sites

então seu where não pode de jeito nenhum ser apenas issoWHERE referencia >= MMmenor AND referencia <= MMmaior AND (ano>='var_ano1' and ano<='var_ano2')

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim mas dependendo do mes e do ano não pegará o intervalo correto

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai tem que programar tiozinhoposso tentar ver algo aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

é o que eu estou tentando fazer

 

dessa forma.

 

WHERE ( referencia >= MMmenor AND ano = 'var_ano1' ) AND ( referencia <= MMmaior AND ano = 'var_ano2' )

 

ele busca um intervalo de

MMmenor = 9

MMmaior = 12

var_ano1 = 2005

var_ano2 = 2005

 

retorna dados certinho

 

mas se eu mudar o MMmaior por 1 e o ano pra 2006 não retorna dados

Compartilhar este post


Link para o post
Compartilhar em outros sites

um jeito simples seria"...WHERE ANO*100 + referencia >=" & var_ano1*100 + MMmenor & " AND ANO*100 + referencia <=" & var_ano2*100 + MMmaior & ""veja se funciona

Compartilhar este post


Link para o post
Compartilhar em outros sites

os campos

 

ano é do tipo texto que armazena 2005, 2006, 2007

e referencia é do tipo numero que armazena 1, 2, 3, 4

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso é apenas uma forma de transformar a combinação dos campos em um numero que identificará o mes/ano sem dar amrgens para errosvoce testou???

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara agora funcionou com a seguinte WHERE

 

WHERE ( ano >= 'var_ano1' AND referencia >= MMmenor + referencia <= MMmaior AND ano <= 'var_ano2')

 

mas funcionou pela metade

 

pois se eu selecionar dois meses iguais e dois anos iguais, pra filtrar somente akele mes ele retorna todos do ano

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim tiozinho não vai funcionar mesmoque erro ta dando com o que te passei... ou só não ta funcionandi direito??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Error Type:

Microsoft JET Database Engine (0x80040E14)

Syntax error (missing operator) in query expression 'ANO*100 + referencia >= + Replace(Recordset1__var_ano1,'.

/visanet/result_palestras.asp, line 55

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.