Ir para conteúdo

POWERED BY:

Arquivado

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

EduardoFonseca

[Resolvido] [Microsoft][Driver ODBC para Microsoft Access]

Recommended Posts

Possuo um código que esta gerando o erro Tipo de erro: Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe na cláusula FROM. /phelpsma/asp_consumo_altera1.asp, line 19.

 

O pior que tenho outra página com o mesmo código apenas utilizando outra tabela e designer que funciona. O erro apareci quando clico na paginação 1, 2, 3...

 

Alguem teria alguma pista aonde esta o erro? Abaixo segue o código.

 

<%
option explicit
If session("usr_log_ok")="" Then 
  response.Redirect("index.htm")
  Session("pagina_restrita") = Request.ServerVariables("SCRIPT_NAME")&"?"&request.ServerVariables("QUERY_STRING")
  Response.End()
End If
%>
<!--#include file = "asp_bibconexao.asp"-->
<%
Session.LCID = 1046
dim conexao, rstabela, sql, rsMax, regAtual, var
dim NRecords, pagina, paginas, NumReg, resto, LinkTemp, nometabela

nometabela = Request.QueryString("urltabela")

call abre_conexao
Set rsMax = Server.CreateObject("ADODB.Recordset")
rsMax.Open "SELECT Count(*) AS NRecords FROM "& nometabela, Conexao '<-----Linha do erro!

NRecords = rsMax("NRecords")
rsMax.Close
Set rsMax = Nothing

If Request.QueryString("pagina") <> "" Then
 pagina = Request.QueryString("pagina")
End If

If Pagina = "" Then
pagina = 1
End If

NumReg = 20 * (pagina - 1)

sql = "select codigo, data, qtde, valor from " & nometabela & " ORDER BY data DESC"
set rstabela = conexao.execute(sql)

resto = NRecords mod 20
If resto > 0 Then
   paginas = int(NRecords / 20) + 1
Else
   paginas = NRecords / 20
End If
pagina = pagina + 1

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça o seguinte e poste aqui o resultado:

SQL = "SELECT Count(*) AS NRecords FROM "& nometabela ";"
Response.Write SQL
Response.END
rsMax.Open SQL, Conexao

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Patrique, antes de mais nada obrigado pela sua ajuda.

 

Fiz a alteração, só que infelizmente não funcionou, esta gerando a mesma mensagem de erro.

 

Estou desconfiado que o problema não esta no script, mais um erro lógico, talvez na re-leitura da páginação.

 

Um grande abraço.

 

----

 

Bom dia Salgado,

 

Obrigado pela sua ajuda,

 

Fiz as alterações, agora o erro aconteceu ao abrir a página, antes estava ao clicar na paginação 1, 2, 3.... Abaixo segue a mensagem:

 

Erro de compilação do Microsoft VBScript (0x800A0401)

Fim da instrução esperado

/phelpsma/asp_consumo_altera1.asp, line 22, column 54

SQL = "SELECT Count(*) AS NRecords FROM "& nometabela ";"

-----------------------------------------------------^

Um grande abraço, Edu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Corrigindo o código do Salgado.

SQL = "SELECT Count(*) AS NRecords FROM "& nometabela & ";"

 

Faltou o &.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No link da paginação você terá que informar a tabela com parâmetro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Hargon, desculpe a minha ignorancia não sei como fazer isso, poderia me ajudar? Obrigado

 

Segue abaixo a parte das variaveis:

 

<% If NumReg > 0 Then
   For LinkTemp = 1 to NumReg
	if rstabela.EOF = False Then rstabela.MoveNext
   Next
End If
regAtual = 1
While Not rstabela.EOF AND regAtual <=20 %>

 

Segue abaixo a parte do link:

 

<% For LinkTemp = 1 to paginas %>
<a href="asp_consumo_altera1.asp?pagina=<%=LinkTemp%>"><%=LinkTemp%></a>
<% next %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na parte que é montado o link você informa:

<a href="asp_consumo_altera1.asp?urltabela=<%=nometabela%>&pagina=<%=LinkTemp%>"><%=LinkTemp%></a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bom Eduardo.

 

Abraço.

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.