Ir para conteúdo
Fórum Script Brasil
  • 0

Sistema De Busca


Guest - Marcio -

Pergunta

Guest - Marcio -

Pessoal,

Estou tentando fazer um sistema de busca em meu adm onde ira buscar apenas por tipo de empresa, nome da empresa e estado(UF), montei um comando mas não sei se é o correto, portanto vou posta-lo e junto vou colocar o erro que eta dando. Como faria para retornar o resultado na mesma pg onde lista as empresas?

ERRO

Objeto necessário: 'objConn'

/adm/busca.asp, line 9

COMANDO

<%

Tipo_Empresa = Request.Form("Tipo_Empresa")

Nome_Fantasia = Request.Form("Nome_Fantasia")

UF = Request.Form("UF")

%>

<%

Set rs = objConn.Execute("SELECT Tipo_Empresa, Nome_Fantasia FROM Cad_Empresa WHERE Tipo_Empresa = '" &Tipo_Empresa& "', Nome_Fantasia = '" &Nome_Fantasia& "' ORDER BY Nome_Fantasia ASC")

If not rs.EOF Then

Do until rs.eof

%>

<% rs.MoveNext

Loop

Else

Response.Write("Não Foram encontrados registros com esses dados!")

End if

%>

Obrigado

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

<%
Tipo_Empresa = Request.Form("Tipo_Empresa")
Nome_Fantasia = Request.Form("Nome_Fantasia")
UF = Request.Form("UF")

Set rs = Server.CreateObject("ADODB.RECORDSET")
objConn.Execute("SELECT Tipo_Empresa, Nome_Fantasia FROM Cad_Empresa WHERE Tipo_Empresa = '" &Tipo_Empresa& "', Nome_Fantasia = '" &Nome_Fantasia& "' ORDER BY Nome_Fantasia ASC") 
If not rs.EOF Then
Do until rs.eof

rs.MoveNext
Loop
Else
Response.Write("Não Foram encontrados registros com esses dados!")
End if
rs.close
set rs = nothing
%>

tente assim, mas o que acontece é que ele não ta encontrando o objconn, que deve ser o objeto que voc~e cria de conexão... que voc~e ter fechado ou não crio nesta pagina.... mas tenta com o que modifiquei e posta ae =)

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Marcio -

Cara, continua dando o mesmo erro de objconn, é o seguinte, para eu efetuar essa busca no BD teria que abrir a conexão OK, ou seja, tenho uma pg onde lista as empresas cadastradas e gostaria que ao efetuar a busca o resultado aparecesse nesta mesma pg, pois já criei outra pg de resultado da busca mas não tive sucesso, como faço para ter o resultsdo na mesma pg, teria que colocar o SQL dentro do form de busca? Esta pg já tem a conexao aberta.

Grato

Link para o comentário
Compartilhar em outros sites

  • 0

Bem para exibir a busca na mesma página basta você enviar uma variável qualquer na hora que enviar o formulário com a consulta do tipo ?t=busca

Então antes de começar o seu script de busca você faz uma verificação se a variável existe ou não, se sim executa o script, se não pula e executa o restante da página.

Não esqueça de fazer a mesma verificação no corpo da página para ver o que vai ser apresentado.

Com relação a conexão objeto objConn coloque ela fora dos scripts, ou seja no início da página assim ela servirá para os dois scripts.

Já o erro que está apresentando pode ser de que você tenha fechado o objConn antes de executar a busca, veja onde está localizado os comandos

objConn.close

set objConn = nothing

e mova isto para o final da página depois da tag </html>

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Marcio -

Então, com este sistema aparentemente parece estar buscando as informações nos campos correspondentes, só que quando radado da este erro de sintax:

Microsoft JET Database Engine (0x80040E14)

Erro de sintaxe (operador faltando) na expressão de consulta 'Tipo_Empresa = 'Jornal' OR Nome_Fantasia = 'editoras' OR UF = 'RS' WHERE OR (Tipo_Empresa) =Jornal OR (Nome_Fantasia)=editoras OR (UF)=RSORDER BY Nome_Fantasia ASC'.

/adm/resultado_busca.asp, line 21

O que será que esta errado em meu codigo?

<!--#include file="includ/conex.asp"-->

<%

Tipo_Empresa =Request.Form("Tipo_Empresa")

Nome_Fantasia =Trim(Request.Form("Nome_Fantasia"))

UF = Request.Form("UF")

call abreconexao

Set rs = Server.CreateObject("adodb.recordset")

SQL = "SELECT Tipo_Empresa, Nome_Fantasia, UF FROM Cad_Empresa WHERE Tipo_Empresa = '" &Tipo_Empresa& "' OR Nome_Fantasia = '" &Nome_Fantasia& "' OR UF = '" &UF& "' "

SQL = SQL & " WHERE "

if Request.form ("Tipo_Empresa") <> "" Then SQL = SQL & " OR (Tipo_Empresa) =" & Request.form ("Tipo_Empresa")

if Request.form ("Nome_Fantasia") <> "" Then SQL = SQL & " OR (Nome_Fantasia)=" & Request.form ("Nome_Fantasia")

if Request.form ("UF") <> "" Then SQL = SQL & " OR (UF)=" & Request.form ("UF")

SQL = SQL & "ORDER BY Nome_Fantasia ASC"

set rsCad_Empresa=conexao.execute(sql)

'rsCad_Empresa.Open SQL

%>

<% Do until rsCad_Empresa.EOF%>

%>

<%=rsCad_Empresa("Tipo_Empresa")%><p align="center"><font size="2" face="MS Sans Serif"><br>

<%=rsCad_Empresa("Nome_Fantasia")%>, <%=rsCad_Empresa("Nome_Fantasia")%><br>

<%=rsCad_Empresa("UF")%> - <%=rsCad_Empresa("UF")%><br>

<%

rsCad_Empresa.movenext

loop

call fechaconexao

%>

Estamos quase lá!!!!

Obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

você ta dando dois WHERE ali ou é impressão minha ? rs

você ta fazendo 2 wheres aparentemente e não pode e faça veirifcações (if) antes é melhor exemplo

if campo <> "" then

junta = junta & " campo='" & campo & "'"

end if

if campo2 <> "" then

junta = junta & " campo2='" & campo2 & "'"

end if

SQL="SELECT campos FROM tabela WHERE " & junta

só um exemplo, fica mais organizado wink.gif

abraços

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Marcio -

Galera, para finalizar esse tópico....

Meu sistema de busca agora esta funcionando, graças a vocês pelos toques!

O unico problema é que não consigo filtrar individualmente, ou seja, tenho 3 campos para busca e se eu preencho os 3, OK busca certinho; se eu preencho o campo "Seguimento e Estado", OK tb; mas se preenchido apenas 1 desses 3 campos retorna a informação que eu criei quando não há registros cadastrados.

Será o tal do END ou OR no SQL?

MEU SQL:

<%

' Recuperando as variáveis do formulário

Busca_Nome = Request.Form("Busca_Nome")

Tipo = Request.Form("Tipo")

Estado = Request.Form("Estado")

' Abrindo a conexao com o BD e passando os parâmetros da consulta

call abreconexao

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

SQL = "SELECT * FROM Cad_Empresa WHERE Nome_Fantasia LIKE '%" & Busca_Nome & "%' and Tipo_Empresa = '" & Tipo & "' and UF = '" & Estado & "' order by Nome_Fantasia"

set rsCad_Empresa=conexao.execute(SQL)

%>

Só mais essa pessoal!!!!

Valeu

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...