Fórum Contato
  
   O portal do desenvolvedor ASP Quinta-feira - 5 de Agosto de 2021  
Busca

Menu do site
Efetuar Login
Usuário:

Senha:

 Esqueceu a senha?
Login automático

 Cadastre-se
 Fóruns   Meu cadastro   Meu perfil   Ranking de usuários 

 FórumProgramaçãoErros Responder mensagem 

 Errro: Microsoft JET Database Engine error '80040e14' Atualizado em 30/07/2007 ás 14:23:00

Postado em 25/07/2007 ás 12:39:00

Galera estou com este problema na parte de busca de CEP da minha loja.


Somente o estado de Goiás e o estado de Tocantins dá este erro, os outros estados fazem a busca normalmente.


Dá este erro:


Microsoft JET Database Engine error '80040e14'

Syntax error in FROM clause.

/procurar_cep.asp, line 40


To postando o código fonte para poderem analizarem.


 


<html>
<head>
<title>Procurar CEP</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="estilos/index.css" rel="stylesheet" type="text/css">
<script language="JavaScript">
<!--
function envia_formulario(form){
if (document[form].estado.value == ""){
  document[form].estado.focus();
  alert('Informe o estado');
}
else if (document[form].cidade.value == ""){
  document[form].cidade.focus();
  alert('Informe a cidade');
}
else if (document[form].logradouro.value == ""){
  document[form].logradouro.focus();
  alert('Informe o logradouro');
}
else{
  document[form].submit();
}
}
//-->
</script>
</head>
<body class="texto">


<%
If Request.Form() <> "" Then


  Set objCon = Server.CreateObject("ADODB.Connection")
  objCon.Open Application("te_conexao_cep")
  ComandoSQL = "SELECT * FROM " & Request.Form("estado") & " WHERE localidade LIKE '%" & Prepara_busca(Request.Form("cidade")) & "%' AND nome LIKE '%" & Prepara_busca(Request.Form("logradouro")) & "%'"
  Set objRS_log = Server.CreateObject("ADODB.Recordset")
  objRS_log.CursorLocation = 2
  objRS_log.CursorType = 1
  objRS_log.LockType = 1
  objRS_log.Open ComandoSQL, objCon,,, &H0001


  Response.Write "<font color='#60707F'><b><font color='#CF0800'>Pesquisar CEP</font><br>"
  Response.Write "</b>Veja abaixo o resultado da pesquiza<br><br>"
  Response.Write "<table width=100% border=1 bordercolor=gainsboro cellspacing=0 cellpadding=2 class=texto>"
  Response.Write "  <tr>"
  Response.Write "    <td bgcolor=whitesmoke><strong>Cidade</strong></td>"
  Response.Write "    <td bgcolor=whitesmoke><strong>Bairro</strong></td>"
  Response.Write "    <td bgcolor=whitesmoke><strong>Logradouro</strong></td>"
  Response.Write "    <td bgcolor=whitesmoke><strong>Complemento</strong></td>"
  Response.Write "    <td bgcolor=whitesmoke><strong>CEP</strong></td>"
  Response.Write "  </tr>"


  If Not objRS_log.EOF Then
    While Not objRS_log.EOF
   cep = objRS_log("cep")


   Response.Write "  <tr>"
   Response.Write "    <td>" & objRS_log("localidade") & "</td>"
   Response.Write "    <td>" & objRS_log("bai_ini") & "</td>"
   Response.Write "    <td>" & objRS_log("nome") & "</td>"
   Response.Write "    <td>" & objRS_log("complemento") & "</td>"
   Response.Write "    <td><span OnClick=""opener.document.cesta_produtos.cep1.value='" & Left(cep,5) & "';opener.document.cesta_produtos.cep2.value='" & Right(cep,3) & "';window.close();"" style='cursor:hand'><u>" & cep & "</u></span></td>"
   Response.Write "  </tr>"


    Set cidade = Nothing
 Set complemento = Nothing
 Set bairro = Nothing
 Set logradouro = Nothing
 Set cep = Nothing


   objRS_log.MoveNext


 Wend


  End If


  ComandoSQL = "SELECT * FROM Cidade WHERE cep <> '' AND uf = '" & Request.Form("estado") & "' AND nome LIKE '%" & Prepara_busca(Request.Form("cidade")) & "%'"
  Set objRS_localidade = Server.CreateObject("ADODB.Recordset")
  objRS_localidade.CursorLocation = 2
  objRS_localidade.CursorType = 1
  objRS_localidade.LockType = 1
  objRS_localidade.Open ComandoSQL, objCon,,, &H0001
  If Not objRS_localidade.EOF Then
    While Not objRS_localidade.EOF
      cep = objRS_localidade("cep")


   Response.Write "  <tr>"
   Response.Write "    <td>" & objRS_localidade("nome") & "</td>"
   Response.Write "    <td>-</td>"
   Response.Write "    <td>-</td>"
   Response.Write "    <td>-</td>"
   Response.Write "    <td nowrap><span OnClick=""opener.document.cesta_produtos.cep1.value='" & Left(cep,5) & "';opener.document.cesta_produtos.cep2.value='" & Right(cep,3) & "';window.close();"" style='cursor:hand'><u>" & cep & "</u></span></td>"
   Response.Write "  </tr>"


      objRS_localidade.MoveNext
    Wend  
  End If
  objRS_localidade.Close


  Response.Write "</table>"


  objRS_log.Close
  objCon.Close
  Set objCon = Nothing
  Set ComandoSQL = Nothing
  Set objRS_log = Nothing


Else
%>


<form name="procurar_cep" method="post" action="procurar_cep.asp">
<font color="#60707F"><b><font color="#CF0800">Pesquisar CEP </font><br>
</b>Informe corretamente os dados abaixo para localizar seu CEP.<br>
</font>
  <table width="100%" border="0" cellspacing="5" cellpadding="5" class="texto">
    <tr valign="top" bgcolor="#F3F4F5">
      <td width="1%"><strong><font color="#60707F">Estado<br>
        </font></strong><font color="#60707F">
        <select name="estado" size="1" id="select" class="texto">
          <option value="">&nbsp;</option>
          <option value="AC">Acre</option>
          <option value="AL">Alagoas</option>
          <option value="AP">Amapá</option>
          <option value="AM">Amazonas</option>
          <option value="BA">Bahia</option>
          <option value="CE">Ceará</option>
          <option value="DF">Distrito Federal</option>
          <option value="ES">Espírito Santo</option>
          <option value="GS">Goias</option>
          <option value="MA">Maranhão</option>
          <option value="MT">Mato Grosso</option>
          <option value="MS">Mato Grosso do Sul</option>
          <option value="MG">Minas Gerais</option>
          <option value="PA">Pará</option>
          <option value="PB">Paraíba</option>
          <option value="PR">Paraná</option>
          <option value="PE">Pernambuco</option>
          <option value="PI">Piauí</option>
          <option value="RJ">Rio de Janeiro</option>
          <option value="RN">Rio Grande do Norte</option>
          <option value="RS">Rio Grande do Sul</option>
          <option value="RO">Rondônia</option>
          <option value="RR">Roraima</option>
          <option value="SC">Santa Catarina</option>
          <option value="SP">São Paulo</option>
          <option value="SE">Sergipe</option>
          <option value="TO">Tocantins</option>
        </select>
        Informe o estado</font></td>
      <td><strong><font color="#60707F">Cidade</font></strong><font color="#60707F">
        (sem acentos)<strong><br>
        <input name="cidade" type="text" class="texto" style="width:90%" size="20">
        <br>
        </strong>Informe o nome da cidade, munic&iacute;pio, distrito ou povoado.Para
        o DF poder&aacute; ser informado o nome da Regi&atilde;o Administrativa(Lago
        Sul, Cruzeiro, etc).</font><br> </td>
    </tr>
    <tr valign="top" bgcolor="#F3F4F5">
      <td colspan="2"><strong><font color="#60707F">Logradouro<br>
        <input name="logradouro" type="text" class="texto" id="logradouro2" style="width:90%" size="20">
        <br>
        </font></strong><font color="#60707F">Informe o nome da avenida, rua,
        pra&ccedil;a, travessa, alameda, beco, passagem, etc.<br>
        </font> </td>
    </tr>
  </table>
<img src="layout/imagens/continuar.gif" width="120" height="24" style="cursor: hand" onClick="envia_formulario('procurar_cep')">
</form>


<%
End If
%>


</body>
</html>


<%
Function Prepara_busca(str)
  Dim v
  v = lcase(str)
  v = Replace(v,"%","")
  v = Replace(v,"'","")
  v = Replace(v,"""","")
  v = replace(v, "ó" , "o")
  v = replace(v, "ò" , "o")
  v = replace(v, "ô" , "o")
  v = replace(v, "õ" , "o")
  v = replace(v, "ö" , "o")
  v = replace(v, "á" , "a")
  v = replace(v, "à" , "a")
  v = replace(v, "â" , "a")
  v = replace(v, "ã" , "a")
  v = replace(v, "ä" , "a")
  v = replace(v, "é" , "e")
  v = replace(v, "è" , "e")
  v = replace(v, "ê" , "e")
  v = replace(v, "ú" , "u")
  v = replace(v, "ù" , "u")
  v = replace(v, "û" , "u")
  v = replace(v, "ü" , "u")
  v = replace(v, "í" , "i")
  v = replace(v, "ì" , "i")
  v = replace(v, "ç" , "c")
  v = replace(v,"a","[a,á,à,ã,â,ä]")
  v = replace(v,"e","[e,é,è,ê]")
  v = replace(v,"i","[i,í,ì]")
  v = replace(v,"o","[o,ó,ò,õ,ô,ö]")
  v = replace(v,"u","[u,ú,ù,û,ü]")
  v = replace(v,"c","[c,ç]")
  v = replace(v,"'","['']")
  Prepara_busca = v
End Function
%>



Postado em 30/07/2007 ás 14:23:00

O problema é que você colocou os códigos do estado como tabela, e o código do Tocantins ( TO ) por exemplo é uma palavra reservada do SQL, aconselho de duas uma ou você muda o nome das tabelas ( acrescentando por exemplo na frente tbl_ e acrescentar no código da mesma forma ) ou que você tente colocar entre colchetes [TO] os nomes das tabelas para ver se vai funcionar.

====================================
Eu TRABALHO com Desenvolvimento WEB, e não posso parar uma tarde inteira pra ajudar. Mas orçamentos são bem vindos!!!

Topo

Postado em 28/07/2007 ás 19:00:00


Adicionei o código, no estado de Tocantis e no estado de Goias mostra este erro agora:


SELECT * FROM TO WHERE localidade LIKE '%[e,é,è,ê]rt%' AND nome LIKE '%[e,é,è,ê]rt%'


Microsoft JET Database Engine error '80040e14'

Syntax error in FROM clause.

/procurar_cep.asp, line 42


Nos demais estados é feito a busca normalmente só se agora aparece isto junto, ex: SP:


SELECT * FROM SP WHERE localidade LIKE '%p[i,í,ì]t[a,á,à,ã,â,ä]ng[u,ú,ù,û,ü][e,é,è,ê][i,í,ì]r[a,á,à,ã,â,ä]s%' AND nome LIKE '%r[u,ú,ù,û,ü][a,á,à,ã,â,ä]%


Será que pode ser um problema no banco de dados?


Se for como posso descobrir esta falha?



Topo

Postado em 27/07/2007 ás 09:22:00

Set objCon = Server.CreateObject("ADODB.Connection")
  objCon.Open Application("te_conexao_cep")
  ComandoSQL = "SELECT * FROM " & Request.Form("estado") & " WHERE localidade LIKE '%" & Prepara_busca(Request.Form("cidade")) & "%' AND nome LIKE '%" & Prepara_busca(Request.Form("logradouro")) & "%'"
response.write  ComandoSQL
response.flush

  Set objRS_log = Server.CreateObject("ADODB.Recordset")
  objRS_log.CursorLocation = 2
  objRS_log.CursorType = 1
  objRS_log.LockType = 1
  objRS_log.Open ComandoSQL, objCon,,, &H0001


O código está na parte destacada em vermelho ( o que vc tem que acrescentar ) agora o nome da tabela é variável mesmo, pois você está colocando que o nome da tabela é o valor que vem de request.form("estado"), é isto mesmo?

====================================
Eu TRABALHO com Desenvolvimento WEB, e não posso parar uma tarde inteira pra ajudar. Mas orçamentos são bem vindos!!!



Topo

Postado em 26/07/2007 ás 10:13:00

Você poderia escrever esta parte do código pra mim?


 


 


Obrigado!



Topo

Postado em 26/07/2007 ás 09:43:00
 Esta mensagem foi útil ao usuário



onde está:
Set objCon = Server.CreateObject("ADODB.Connection")
  objCon.Open Application("te_conexao_cep")
  ComandoSQL = "SELECT * FROM " & Request.Form("estado") & " WHERE localidade LIKE '%" & Prepara_busca(Request.Form("cidade")) & "%' AND nome LIKE '%" & Prepara_busca(Request.Form("logradouro")) & "%'"


Coloque um response.write ComandoSQL para ver se o seu SQL está ok, creio eu que o que está acontecendo é que estado não está vindo preenchido e com isto está dando erro

====================================
Eu TRABALHO com Desenvolvimento WEB, e não posso parar uma tarde inteira pra ajudar. Mas orçamentos são bem vindos!!!



Topo


Exibindo página 1 de 1 encontradas
SuperASP do Brasil Ltda - contato@superasp.com.br

© 2001/2008 - Superasp do Brasil Ltda. Todos os direitos reservados