Ir para conteúdo

POWERED BY:

Arquivado

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

marcelocardoso

instrução SQL

Recommended Posts

Pessoal!

 

Estou fazendo um sistema de busca, que está aqui:

http://free.7host05.com/marmmc/teste.html

 

Mas não funciona os if's, vejam o exemplo acima e veja se conseguem me ajudar, só falta ver o porque que o if não busca.

 

 

Obrigado a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá amigo...

 

a pagina nao abriu, poste o erro e a linha para analisarmos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

XAMBURZUM!

 

Arrumei o link, mas veja o que preciso.

 

Estou usando assim, mas não funciona:

BUSCA = LimpaHTML(Replace(TRIM(Request("busca")),"'",""))
CRITERIO = LimpaHTML(Replace(TRIM(Request("criterio")),"'",""))
SETRS = Server.CreateObject("ADODB.RECORDSET")
CX.CursorLocation = 3
RS.PageSize = CONQ_MAX

IF (BUSCA = "") THEN
SQL = "SELECT * FROM MP3 ORDER BY ID DESC"
END IF

IF (BUSCA = "" OR CRITERIO = "") THEN
SQL = "SELECT * FROM MP3 ORDER BY ID DESC" 
ELSE
SQL = "SELECT * FROM MP3 WHERE categoria = '" & criterio & "' AND nome LIKE '%"& BuscaInteligente(busca) &"%' ORDER BY ID DESC"
END IF

 

VEJAM Como gostaria de fazer:

 

1) se o cara não digitar nada e também não selecionar nada e clicar no button localizar, ele exibisse todos os registros existentes;

2) se o cara digitasse algo no input, e não escolhesse nenhuma categoria, ele exibisse só oque for digitado na busca;

3) se o cara digitar algo no input e selecionasse a categoria, ele exibisse oque foi buscado, mas pela categoria selecionada também.

 

Tem como fazer isso, se tem, podem me dizer como faço o SQL.

Obrigado amigos, depois que aprender, não encho mais o saco para buscas com criterio, pois não sei fazer mesmo.

 

 

duvida acessa o link que vai entender, ok!

tá funcionando

Compartilhar este post


Link para o post
Compartilhar em outros sites

estuda este exemplo, onde o userpode escolher o criterio de pesquisa,sendo "ou" "e" "palavra exata"

 

<%
'------------- SEARCH
'******************************************************
'******************************************************

On Error Resume Next



PAGE_SIZE = 20  ' exibir número de resultados


strURL = Request.ServerVariables("URL") ' URL ou Query string



'------------- q = the input text


strSearch = Request.QueryString("q") ' input text

If strSearch = "" Then

 Server.htmlencode(Trim(Request.Form("q")))

End If


strSearch = Replace(strSearch, "'", "''")


'----------- p = RESULTADO Paginaçao

IF isnumeric(Request.QueryString("p")) = True OR Request.QueryString("p") = "" THEN

				  ' Obter página para mostrar ou por defeito para a primeira
				  If Request.QueryString("p") = ""  OR Request.QueryString("p") < 1 Then
					  iPageCurrent = 1
				  Else
					  iPageCurrent = CInt(Request.QueryString("p"))
					End If

ELSE

iPageCurrent = 1


END IF

p = iPageCurrent



'----------------- t = Tabela selecionada

IF isnumeric(Request.QueryString("t")) = True OR Request.QueryString("t") = "" THEN

				  ' Retrieve t

				  If Request.QueryString("t") = ""  OR Request.QueryString("t") < 1 Then
					  searchTable = 1 '1
				  Else

					  searchTable =  1 'CInt(Request.QueryString("t"))

					End If

ELSE

searchTable = 2 '1

END IF


'------------------- m = SEARCH METODO

IF isnumeric(Request.QueryString("m")) = True OR Request.QueryString("m") = "" THEN

				  ' Retrieve m
				  If Request.QueryString("m") = ""  OR Request.QueryString("m") < 1 Then
					  strMethod = 2
				  Else
					  strMethod = CInt(Request.QueryString("m"))
					End If

ELSE

strMethod = 2


END IF



'---------------FORM
%>

				  <form method="get" action="<%= strURL %>">
					<p>
					<input type="radio" name="m" value="1" <% IF strMethod = 1 THEN response.write "checked=""checked""" END IF%> />
						E
						<input type="radio" name="m" value="2" <% IF strMethod = 2 OR strMethod = "" THEN response.write "checked=""checked""" END IF%> />
						OU
						<input type="radio" name="m" value="3" <% IF strMethod = 3 THEN response.write "checked=""checked""" END IF%> />
				   	Exato</p>

					<p><input type="text" class="input3" name="q" value="<%= Trim(strSearch) %>" /></p>

					<p><input type="submit" value="Procura" />
					<br /><br /></p>

				  </form>
				  <%



If strSearch <> "" Then


		Session("strSearch") = strSearch

		IF isnumeric(Request.QueryString("t")) = True OR Request.QueryString("t") = "" THEN

						  ' Retrieve t

						  If Request.QueryString("t") = ""  OR Request.QueryString("t") < 1 Then
							searchTable = 1 '1
						  Else

							searchTable = 1 'CInt(Request.QueryString("t"))

						  End If

		ELSE

		searchTable = 1' 1

		END IF




		' TABELAS

		Select Case searchTable

			Case CInt("1")

					dbTable = "tMessages"
					'strDBPath = Server.MapPath("/blogg/blog.mdb")


			Case CInt("2")

					'dbTable = "events"
					'strDBPath = Server.MapPath("")

			Case Else

					dbTable = "tMessages"
					'strDBPath = Server.MapPath("")


		End Select



'------------------ SQL



				  'SPLIT STRING INTO Arrays 
'E AND Da CLÁUSULA SQL


'----------------- SQL tMessages tabela blog

IF searchTable = "1" THEN
IF strMethod < 3 THEN


			If strMethod = 1 Then
			strSplit = Replace(strSearch," "," and ")
			Else
			strSplit = Replace(strSearch," "," or ")
			End If


			colTerms = split(strSplit," and ",-1,1)

			iUpperTerms = UBound(colTerms)

			strWhereClause = ""



			'FIELD CLAUSES

			nr = 0
			Do while nr <= 5

			nr = nr + 1

			searchField = CInt(nr)

			Select Case searchField

				Case CInt("1")

					strTableInClause = "fDate"

				Case CInt("2")

					strTableInClause = "fHeadline"

				Case CInt("3")

					strTableInClause = "fMessage"

				Case CInt("4")

					strTableInClause = "fAuthor"

				Case CInt("5")

					strTableInClause = "fnota"
				
				'Case Else


			End Select


				  For iLoop = LBound(colTerms) to iUpperTerms
					orTerms = split(colTerms(iLoop)," or ",-1,1)
					iUpperOrTerms = UBound(orTerms)
					strWhereClause = strWhereClause & ""

						for iOrLoop = LBound(orTerms) to iUpperOrTerms
								strWhereClause = strWhereClause & strTableInClause & " LIKE '%" & Trim(orTerms(iOrLoop)) & "%' "

							if iOrLoop < iUpperOrTerms then
								strWhereClause = strWhereClause & " OR "
							end if
						next

						strWhereClause = strWhereClause & ""

						if iLoop < iUpperTerms then
								strWhereClause = strWhereClause & " AND "
						end If

				  Next

				  if nr <= 4 then
				  strWhereClause = strWhereClause & " OR "
				  end if

		Loop


ELSE

' METODO 3 FRASE EXATA WHERE

strWhereClause = "fDate LIKE '%" & strSearch & "%' OR fHeadline LIKE '%" & strSearch & "%' OR fMessage LIKE '%" & strSearch & "%' OR fAuthor LIKE '%" & strSearch & "%'  OR fnota LIKE '%" & strSearch & "%'"

END IF


strWhereClause2 = "WHERE (" & strWhereClause & ") AND (online = CBool(-1))"

' ORDER BY
strOrderClause = "ORDER BY fdate DESC"



	IF strMethod = 3 THEN

		strSQL = "SELECT * FROM "& dbTable &" "& strWhereClause2 &" "& strOrderClause &";"

	ELSE

		strSQL = "SELECT * FROM "& dbTable &" "& strWhereClause2 &" "& strOrderClause &";"

	END IF


END IF

Response.write strSQL

'---------- END SQL tMessages BLog




'--------- CONNECTION 

	Set myRecSet = Server.CreateObject("ADODB.Recordset")
	myRecSet.PageSize  = PAGE_SIZE
	myRecSet.CacheSize = PAGE_SIZE

	' constantes
	adOpenStatic = 3
	adLockReadOnly = 1
	adCmdText = &H0001


	myRecSet.Open strSQL, sConn, adOpenStatic, adLockReadOnly, adCmdText


	iRecordCount = myRecSet.RecordCount
	iPageCount   = myRecSet.PageCount



			   ' O RESULTADO COUNTER

				strCountRecord = iRecordCount

				If iPageCurrent = 1 Then

						  strCount = strCountRecord - iRecordCount + 1

				Else

						strCount = iPageCurrent * PAGE_SIZE - PAGE_SIZE + 1

						'strCountRecord -  + * iPageCurrent

				End If



	If iRecordCount = 0 Then


		%>			<p>Desculpa, sua busca não retornou resultados.<br />
					Sua Busca por - <b><%=strSearch%></b> - não retornou documentos.</p>

				  <%
	Else

		myRecSet.AbsolutePage = iPageCurrent

		If iRecordCount <= PAGE_SIZE then
		toRecord = iRecordCount
		else
		toRecord = strCount + PAGE_SIZE - 1
		End if
		If toRecord => iRecordCount then
				toRecord=  iRecordCount
		End if

		%>

						<p>Mostrando  resultado <%=strCount%> - <%=toRecord%> de <%=iRecordCount %>. Paginas <%= iPageCurrent %> / <%= iPageCount %>. </p>
						<br /><p>
						<%

		If iPageCurrent > 1 Then
			%>
						<a href="<%= strURL %>?m=<%= Server.URLEncode(strMethod) %>&t=<%= Server.URLEncode(searchTable) %>&q=<%= Server.URLEncode(strSearch) %>&p=<%= iPageCurrent - 1 %>" title="Previous">
						‹‹</a>
						<%
		End If


		For I = 1 To iPageCount
			If I = iPageCurrent Then

			%>

						<%= I %>
						<%
			Else
				%>
						<a href="<%= strURL %>?m=<%= Server.URLEncode(strMethod) %>&t=<%= Server.URLEncode(searchTable) %>&q=<%= Server.URLEncode(strSearch) %>&p=<%= I %>" title="<%= I %>"><%= I %></a>
						<%
			End If
		Next 'I

		If iPageCurrent < iPageCount Then
			%>
						<a href="<%= strURL %>?m=<%= Server.URLEncode(strMethod) %>&t=<%= Server.URLEncode(searchTable) %>&q=<%= Server.URLEncode(strSearch) %>&p=<%= iPageCurrent + 1 %>" title="Next"> ››</a>
						<%
		End If
		%></p>

		<%

'---------------- RESULTADO LOOP


		Do While Not myRecSet.EOF And myRecSet.AbsolutePage = iPageCurrent


					intNumMatches = 0
					allregText = ""
					regWriteOut = ""

					If strSearch = " " then
						strSearch = ""
					End if

					Set objRegExp = New RegExp
					objRegExp.Global = True
					objRegExp.IgnoreCase = True


					If dbTable = "tMessages" then
					allregText = myRecSet.Fields("fDate").Value & " " & myRecSet.Fields("fHeadline").Value & " " & myRecSet.Fields("fMessage").Value & " " & myRecSet.Fields("fAuthor").Value
					End If


					allregText = Replace(allregText, "<", "", 1, -1, 1)
					allregText = Replace(allregText, ">", "", 1, -1, 1)
					allregText = UTFtoISO(allregText)

					If strMethod = 3 then

					
					objRegExp.Pattern = strSearch

					
			 		Set objMatches = objRegExp.Execute(allregText)

					
					intNumMatches = objMatches.Count

					End if

					If strMethod < 3 then

					sarySearchWord = Split(strSearch, " ")
					For intSearchLoopCounter = 0 to UBound(sarySearchWord)

					objRegExp.Pattern = "" & sarySearchWord(intSearchLoopCounter) & ""

					
					Set objMatches = objRegExp.Execute(allregText)

					intNumMatches = intNumMatches + objMatches.Count

					Next
					End if



			 		If intNumMatches => 1 Then

					If intNumMatches > 1 then
					regWriteOut = "" & intNumMatches & " hits."
					Else
					regWriteOut = "" & intNumMatches & " hit."
					End If

			 		End If

					Set objRegExp = Nothing



			%>


					<% IF dbTable = "tMessages" THEN %>
					<p><br /><br />
					<%=strCount%>. <a href="default.asp?id=<%= myRecSet.Fields("id").Value %>" title="<%=myRecSet.Fields("fHeadline").Value%>"><%= myRecSet.Fields("fHeadline").Value %></a>
					<br /><%= RemoveHTML(Left(myRecSet.Fields("fMessage").Value,instrrev(Left(myRecSet.Fields("fMessage").Value,280),"")))%>
					<br />
					Postado: <%= year(myRecSet.Fields("fdate").Value)  & "-" & right("00" & cstr(month(myRecSet.Fields("fdate").Value)),2) & "-" & right("00" & cstr(day(myRecSet.Fields("fdate").Value)),2) & ". " & regWriteOut%>
					</p>
					<% END IF%>


		   <%


						strCount = strCount + 1
			myRecSet.MoveNext
		Loop


'---------------- LOOP END
		%>
						<br /><br /><p>
						<%

		If iPageCurrent > 1 Then
			%>
						<a href="<%= strURL %>?m=<%= Server.URLEncode(strMethod) %>&t=<%= Server.URLEncode(searchTable) %>&q=<%= Server.URLEncode(Session("strSearch")) %>&p=<%= iPageCurrent - 1 %>" title="Previous">‹‹</a>
						<%
		End If


		For I = 1 To iPageCount
			If I = iPageCurrent Then
				%>

						<%= I %>
						<%
			Else
				%>
						<a href="<%= strURL %>?m=<%= Server.URLEncode(strMethod) %>&t=<%= Server.URLEncode(searchTable) %>&q=<%= Server.URLEncode(Session("strSearch")) %>&p=<%= I %>" title="<%= I %>"><%= I %></a>
						<%
			End If
		Next 'I

		If iPageCurrent < iPageCount Then
			%>
						<a href="<%= strURL %>?m=<%= Server.URLEncode(strMethod) %>&t=<%= Server.URLEncode(searchTable) %>&q=<%= Server.URLEncode(Session("strSearch")) %>&p=<%= iPageCurrent + 1 %>" title="Next">››</a>
						<%
		End If
		%>

					<%

		End If

%></p>
<%

		' CLOSE & DISPOSE

		myRecSet.Close
		Set myRecSet = Nothing
		End If



'---------------- SEARCH END

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo!

 

já olhei varias vezes este teu exemplo, mas na hora de fazer não consigo.

pra mim tem que ser mais mastigadinho, pois quero aprender mesmo.

 

Faz mais de 6 meses que tento fazer busca assim, mas não sai.

Quero e preciso que alguem me ajude a fazer este exemplo, pois daí acredito que vou conseguir fazer mais incrementado.

 

Se sabe, me ajuda aí...

te agradeço de coração mesmo.

 

obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

BUSCA = LimpaHTML(Replace(TRIM(Request("busca")),"'",""))
  CRITERIO = LimpaHTML(Replace(TRIM(Request("criterio")),"'",""))
  SETRS = Server.CreateObject("ADODB.RECORDSET")
  CX.CursorLocation = 3
  RS.PageSize = CONQ_MAX

  IF (BUSCA = "") THEN
	SQL = "SELECT * FROM MP3 ORDER BY ID DESC"
  END IF

  IF (BUSCA = "" OR CRITERIO = "") THEN
	SQL = "SELECT * FROM MP3 ORDER BY ID DESC" 
  ELSE
	SQL = "SELECT * FROM MP3 WHERE categoria = '" & criterio & "' AND nome LIKE '%"& BuscaInteligente(busca) &"%' ORDER BY ID DESC"
  END IF

 

1) se o cara não digitar nada e também não selecionar nada e clicar no button localizar, ele exibisse todos os registros

IF (BUSCA = "" and CRITERIO = "") THEN
	SQL para nenhum critario
  end if

 

2) se o cara digitasse algo no input, e não escolhesse nenhuma categoria, ele exibisse só oque for digitado na busca;

IF (BUSCA <> "" and CRITERIO = "") THEN
	SQL para palavra sem critario 
  end if

 

3) se o cara digitar algo no input e selecionasse a categoria, ele exibisse oque foi buscado, mas pela categoria selecionada também.

IF (BUSCA <> "" and CRITERIO <> "") THEN
	SQL para palavra com criterio
  end if

 

 

creio que a estrutura seria essa:

basta completar a consulta SQL com base nos if's que separei

 

IF (BUSCA = "" and CRITERIO = "") THEN
	SQL para nenhum critario
  elseIF (BUSCA <> "" and CRITERIO = "") THEN
	SQL para palavra sem critario 
  elseIF (BUSCA <> "" and CRITERIO <> "") THEN
	SQL para palavra com criterio
  end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha um exemplo simples, depois você implementa com o operador "AND"

 

Dim Sql

constring="provider=microsoft.JET.OLEDB.4.0;Data Source=" & Server.MapPath("db/teste.mdb")
Set conexao=Server.CreateObject("ADODB.Connection")
conexao.open constring

 

Sql = "SELECT * FROM Visitas"

 

   If Request.Form("Campo") = "Nome" Then

	  Sql = Sql & " WHERE Nome LIKE '%" & Request.Form("Criterio") & "%'"

   End If

   If Request.Form("Campo") = "Email" Then

	  Sql = Sql & " WHERE Email LIKE '%" & Request.Form("Criterio") & "%'"

   End If

   If Request.Form("Campo") = "Mensagem" Then

	 Sql = Sql & " WHERE Mensagem LIKE '%" & Request.Form("Criterio") & "%'"

   End If

 

   Set RsWeb = Server.CreateObject("ADODB.Recordset")

   RsWeb.Open Sql, BdWeb, 3

%>

<%

   If RsWeb.BOF and RsWeb.EOF Then%>

	  <h2 align="center">Nenhuma informação localizada ! </h2>

	  <hr>

	 <center><a href="busca.htm">Retorna</a></center>

<%Else%>

	<%If Not RsWeb.BOF Then%>

	<h2>Resultado da Busca:</h2>

	<hr>

	<table BORDER="0" width="100%" cellpadding="3">

	<%

	Do While Not RsWeb.EOF

	%>

	<td>

	<tr><b>Nome :</b>

	<%=RsWeb("Nome")%> 

	</tr><tr><b>Email :</b>

	<%=RsWeb("Email")%>

	</tr><tr><b>Mensagem:</b> <br>

	<%=RsWeb("Mensagem")%>

	</tr>

	<hr>

	<tr><a href="mailto:<%=RsWeb("Email")%>"><%=RsWeb("Email")%></a>

	</td>

	<p>

	<%RsWeb.MoveNext

	Loop%>

você pode fazer um padrão das instrução SQL e ir montando-as, conforme seu formulário, ou seja, de acordo com os critérios que o user escolhe, tipo o abaixo:

 

strWhereClause = "fDate LIKE '%" & strSearch & "%' OR fHeadline LIKE '%" & strSearch & "%' OR fMessage LIKE '%" & strSearch & "%' OR fAuthor LIKE '%" & strSearch & "%'  OR fnota LIKE '%" & strSearch & "%'"



strWhereClause2 = "WHERE (" & strWhereClause & ") 


strOrderClause = "ORDER BY fdate DESC
e depois monta a instrução:

 

strSQL = "SELECT * FROM "& dbTable &" "& strWhereClause2 &" "& strOrderClause &";"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Xanburzum!

 

Vou estudar o teu exemplo também...

Peguei o código do DESISTO e adaptei no meu aqui, e modifiquei um pouquinho e funcionou quase tudo, apenas o ultimo if não funfa.

 

Poderia me ajudar tanto você como o desisto?

 

 

IF (CONQ_BUSCA = "") THEN
			 SQL = "SELECT * FROM CONQ_RS_PRODUTOS ORDER BY ID"
		
	 ELSEIF (CONQ_BUSCA <> "" AND CONQ_FABRI = "") THEN
			 SQL = "SELECT * FROM CONQ_RS_PRODUTOS WHERE CONQ_PRODNome LIKE '%"& CONQ_BUSCA &"%' OR CONQ_PRODSigla LIKE '%"& CONQ_BUSCA &"%' ORDER BY ID DESC"
				
	 ELSEIF (CONQ_BUSCA <> "" AND CONQ_FABRI <> "") THEN		
			 SQL = "SELECT * FROM CONQ_RS_PRODUTOS WHERE CONQ_PRODNome LIKE '%" & CONQ_BUSCA & "%' AND CONQ_PRODFabricante = '"& CONQ_FABRI &"'"
  END IF

 

So a parte que ainda não funcionou, e esta aqui:

 

ELSEIF (CONQ_BUSCA <> "" AND CONQ_FABRI <> "") THEN		
			 SQL = "SELECT * FROM CONQ_RS_PRODUTOS WHERE CONQ_PRODNome LIKE '%" & CONQ_BUSCA & "%' AND CONQ_PRODFabricante = '"& CONQ_FABRI &"'"
  END IF

Simplesmente ele não faz o ultimo elseif, mas sim ela busca todos os registros do primeiro if

 

 

Oque estou fazendo de errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim:

 

IF (CONQ_BUSCA = "") THEN
			 SQL = "SELECT * FROM CONQ_RS_PRODUTOS ORDER BY ID"
		
	 ELSEIF (CONQ_BUSCA <> "" AND CONQ_FABRI = "") THEN
			 SQL = "SELECT * FROM CONQ_RS_PRODUTOS WHERE CONQ_PRODNome LIKE '%"& CONQ_BUSCA &"%' OR CONQ_PRODSigla LIKE '%"& CONQ_BUSCA &"%' ORDER BY ID DESC"
				
	 ELSE (CONQ_BUSCA <> "" AND CONQ_FABRI <> "") THEN		
			 SQL = "SELECT * FROM CONQ_RS_PRODUTOS WHERE CONQ_PRODNome LIKE '%" & CONQ_BUSCA & "%' AND CONQ_PRODFabricante = '"& CONQ_FABRI &"'"
  END IF

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mano XAMBURZUM!

 

 

Acabei de testar mas não vai, ele dá erro nas ()

 

	 ELSE (CONQ_BUSCA <> "" AND CONQ_FABRI <> "") THEN		
			 SQL = "SELECT * FROM CONQ_RS_PRODUTOS WHERE CONQ_PRODNome LIKE '%" & CONQ_BUSCA & "%' AND CONQ_PRODFabricante = '"& CONQ_FABRI &"'"
  END IF

Aí tentei tirar as () aí da problema nos <>

 

 

Oque foi será????

Compartilhar este post


Link para o post
Compartilhar em outros sites

baixa este sistema de busca,aki , vai te ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

vamos por partes tentar identificar o erro...

 

response.write (CONQ_BUSCA&" - "&CONQ_FABRI)

  IF (CONQ_BUSCA = "") THEN
		response.write("caso 1")
			 'SQL = "SELECT * FROM CONQ_RS_PRODUTOS ORDER BY ID"
	 ELSEIF (CONQ_BUSCA <> "" AND CONQ_FABRI = "") THEN
		response.write("caso 2")
			 'SQL = "SELECT * FROM CONQ_RS_PRODUTOS WHERE CONQ_PRODNome LIKE '%"& CONQ_BUSCA &"%' OR CONQ_PRODSigla LIKE '%"& CONQ_BUSCA &"%' ORDER BY ID DESC"
				
	 ELSEIF (CONQ_BUSCA <> "" AND CONQ_FABRI <> "") THEN		
		response.write("caso 3")
			 'SQL = "SELECT * FROM CONQ_RS_PRODUTOS WHERE CONQ_PRODNome LIKE '%" & CONQ_BUSCA & "%' AND CONQ_PRODFabricante = '"& CONQ_FABRI &"'"
  END IF

roda isso ai com todas as possibilidades e manda o resultado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue as respostas DESISTO!

 

 

- caso 1

ADODB.Recordset erro '800a0bb9'

 

Os argumentos são incorretos, estão fora do intervalo aceitável ou estão em conflito.

produtos.asp, line 76

 

 

 

 

gospelfunk - caso 2

ADODB.Recordset erro '800a0bb9'

 

Os argumentos são incorretos, estão fora do intervalo aceitável ou estão em conflito.

produtos.asp, line 76

Compartilhar este post


Link para o post
Compartilhar em outros sites

e o caso 3?

nao rodou?

 

que criterios sao esses CONQ_BUSCA e CONQ_FABRI?

vamos tentar estruturas essa busca da melhor forma, talvez so precise de 2 ifs ou 2 blocos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá DESISTO!

 

Respondendo a sua pergunta o caso 3 não pegou.

Mas estou postando aqui meu exemplo, veja e tem para download.

 

 

http://free.7host05.com/marmmc/buscacriterios/default.asp

http://free.7host05.com/marmmc/buscacriter...omcriterios.zip

 

 

E faça assim para ver:

 

1) ao abrir o link ele pega o primeio IF, ou seja traz todos os registros existentes

2) ao clicar no botão busca sem digitar nada no input da busca, ele também faz o item 1 acima;

3) ao digitar algo no input e clicando no botão buscar, ele busca o digitado, sem problemas..

4) agora aqui é o problema.....

digite ex: aaaaaaasdasdasfasfa, aí ele vai dizer que não acha nada, aí vai para uma pesquisa mais avançado, com as categorias.

Isso que não consigo fazer um caso para selecionar alí e buscar pela categoria selecionada.

 

 

Veja se consegue me ajudar.

 

 

 

Obrigado!

Valeu amigo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

o site nao ta abrindo, nem o down

 

1) ao abrir o link ele pega o primeio IF, ou seja traz todos os registros existentes

2) ao clicar no botão busca sem digitar nada no input da busca, ele também faz o item 1 acima;

3) ao digitar algo no input e clicando no botão buscar, ele busca o digitado, sem problemas..

4) agora aqui é o problema.....

digite ex: aaaaaaasdasdasfasfa, aí ele vai dizer que não acha nada, aí vai para uma pesquisa mais avançado, com as categorias.

 

IF CONQ_BUSCA = "" THEN
	'lista tudo que tiver
	SQL = "SELECT * FROM CONQ_RS_PRODUTOS ORDER BY ID"
ELSE
'aqui roda o bloco caso tenha digitado algo na busca
	if CONQ_FABRI = "" THEN
		SQL = "SELECT * FROM CONQ_RS_PRODUTOS WHERE CONQ_PRODNome LIKE '%"& CONQ_BUSCA &"%' OR CONQ_PRODSigla LIKE '%"& CONQ_BUSCA &"%' ORDER BY ID DESC"
	 ELSE CONQ_BUSCA <> "" THEN
		SQL = "SELECT * FROM CONQ_RS_PRODUTOS WHERE CONQ_PRODNome LIKE '%" & CONQ_BUSCA & "%' AND CONQ_PRODFabricante = '"& CONQ_FABRI &"'"
	END IF
END IF

tente rodar esse bloco

o 1º if é caso nao tenha digitado nada, ai ele busca tudo

senao ele faz a consulta com a palavra e o criterio

 

olha, posso ter errado em alguma parte, mas os if sao basicamente esses

[]s

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.