baladaclick Postado Abril 3, 2007 Denunciar Share Postado Abril 3, 2007 (editado) não consigo listar a palavra do filtro no nivel 3. os niveis 2 e 1 estão corretos. valeu moçadaMicrosoft JET Database Engine erro '80040e14' Erro de sintaxe (operador faltando) na expressão de consulta 'and aprovacao = 'aprovada''. /sam/aprovadas.asp, line 45 <% Set Conn= server.createobject("adodb.connection") DSNtest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("banco/netdbf1.mdb") Conn.Open DSNtest id_perfil = session("id_perfil") id_regional = session("id_regional") id_consultor = session("id_consultor") vendedor = session("vendedor") IF id_perfil = 1 THEN registros = "*" tabela = "clientes" aonde = "where id_consultor = " & session("id_consultor") ordem = "order by data" ELSEIF id_perfil = 2 THEN registros = "*" tabela = "clientes" aonde = "where id_regional = " & session("id_regional") ordem = "order by data" ELSEIF id_perfil = 3 THEN registros = "*" tabela = "clientes" aonde = "where " ordem = "order by data" END IF filtro = request("filtro") if filtro = "" then 'se quiser definir algum filtro por padrão: filtro = "aprovada" end if Set RS= Server.CreateObject("ADODB.Recordset") SQL = "SELECT "& registros &" FROM "& tabela &" "& aonde &" and aprovacao = '"& filtro & "'" RS.Open SQL, conn, 3 %> Editado Abril 3, 2007 por baladaclick Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Abril 3, 2007 Denunciar Share Postado Abril 3, 2007 rapaz, sempre que acontece esses erros de consulta, faça debug na SQL pra ver o que está retornando... só assim voce visualiza o erro e poderá arrumar Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Romero Dias Postado Abril 3, 2007 Denunciar Share Postado Abril 3, 2007 kara, você já tentou faze o assim;id_perfil = CStr(session("id_perfil")) IF id_perfil = "1" THEN Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 baladaclick Postado Abril 3, 2007 Autor Denunciar Share Postado Abril 3, 2007 andrea eu já tinha feito isso eu sei que o problema esta no and ..."& aonde &" and aprovacao = '"& filtro & "'" coloquei o response.write sql - ele retorna isso.SELECT * FROM clientes where id_regional = 3 aprovacao = 'aprovada 'tipo, com o nivel 1 e 2 funcional direito com o 3 não. está faltando alguma coisa nessa linha, SQL = "SELECT "& registros &" FROM "& tabela &" "& aonde &" and aprovacao = '"& filtro & "'"tipo, quando eu tiro o and o nivel 1 e 2 funciona mas o nivel 3 não.alguém tem ideia do que pode ser feito?kkk eu fiz uma gambiarra aqui tentando e deu certo<% Set Conn= server.createobject("adodb.connection") DSNtest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("banco/netdbf.mdb") Conn.Open DSNtest id_perfil = session("id_perfil") id_regional = session("id_regional") id_consultor = session("id_consultor") vendedor = session("vendedor") IF id_perfil = 1 THEN registros = "*" tabela = "clientes" aonde = "where id_consultor = " & session("id_consultor") ordem = "order by data" e = "and" ELSEIF id_perfil = 2 THEN registros = "*" tabela = "clientes" aonde = "where id_regional = " & session("id_regional") ordem = "order by data" e = "and" ELSEIF id_perfil = 3 THEN registros = "*" tabela = "clientes" aonde = "where " ordem = "order by id_cliente desc" e = "" END IF filtro = request("filtro") if filtro = "" then 'se quiser definir algum filtro por padrão: filtro = "aprovada" end if Set RS= Server.CreateObject("ADODB.Recordset") SQL = "SELECT "& registros &" FROM "& tabela &" "& aonde &" "& e &" aprovacao = '"& filtro & " '" RS.Open SQL, conn, 3 %> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Abril 3, 2007 Denunciar Share Postado Abril 3, 2007 tenta agora:<% Set Conn= server.createobject("adodb.connection") DSNtest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("banco/netdbf1.mdb") Conn.Open DSNtest id_perfil = session("id_perfil") id_regional = session("id_regional") id_consultor = session("id_consultor") vendedor = session("vendedor") IF id_perfil = 1 THEN registros = "*" tabela = "clientes" aonde = "where id_consultor = " & id_consultor ordem = "order by data" ELSEIF id_perfil = 2 THEN registros = "*" tabela = "clientes" aonde = "where id_regional = " & id_regional ordem = "order by data" ELSEIF id_perfil = 3 THEN registros = "*" tabela = "clientes" 'aonde = "where " ordem = "order by data" END IF filtro = request("filtro") if filtro = "" then 'se quiser definir algum filtro por padrão: filtro = "aprovada" end if Set RS= Server.CreateObject("ADODB.Recordset") SQL = "SELECT "& registros &" FROM "& tabela &" where aprovacao = '"& filtro & "' "& aonde &"" RS.Open SQL, conn, 3 %> Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
baladaclick
não consigo listar a palavra do filtro no nivel 3. os niveis 2 e 1 estão corretos. valeu moçada
Microsoft JET Database Engine erro '80040e14'
Erro de sintaxe (operador faltando) na expressão de consulta 'and aprovacao = 'aprovada''.
/sam/aprovadas.asp, line 45
Editado por baladaclickLink para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
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.