locked
Stored procedures no Access RRS feed

  • Pergunta

  • Olá pessoal,

    Estou me baseando neste artigo
    http://www.devcity.net/Articles/18/msaccess_sp.aspx para criar stored procedures no Access.

    Está funcionando direitinho, desde que as instruções sejam básicas, quando são mais complexas, não consigo fazer funcionar.
    Testei com a procedure a seguir que funciona no SQL, e a mesma não funciona no Access (com ou sem a @):

    CREATE PROC spListarStatusChamados @IdStatusChamado int = null AS SELECT * FROM TStatusChamados WHERE  IdStatusChamado= isnull(@IdStatusChamado,IdStatusChamado) ORDER BY IdStatusChamado

    Testei também assim:


    sSQL = "CREATE PROC spListarStatusChamados2(IdStatusChamado LONG) AS " _

    & "IF IdStatusChamado IS NULL then " _

    & "SELECT * FROM TStatusChamados; " _

    & "Else " _

    & "SELECT * FROM TStatusChamados WHERE IdStatusChamado = IdStatusChamado; " _

    & "End if"


    Mas deu a seguinte msg de erro:

    Instrução SQL inválida. 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' ou 'UPDATE' esperado.


    Tentei criar uma "consulta seleção" dando instruções do tipo "Se id for nulo faça isso, senão faça aquilo", mas não soube escrever corretamente e não funcionou.

    Alguém tem uma idéia de como resolver isso? Tenho que usar Access pq a hospedagem do cliente é básica e só dá direito ao Access e não ao SQL.

    Obrigada!

    sexta-feira, 28 de setembro de 2007 13:08

Todas as Respostas

  • Olá Vivi. Tenho quase certeza de que vc. não vai conseguir fazer isso que quer. Pelo que sei o Access só suporta stored procedures de Consulta, Inclusão, Delete e Update, mas todos da maneira mais simples possível, sem nenhuma condição.

     

    José Antunes

    sábado, 29 de setembro de 2007 12:15
  • Olá José,

    Pelos testes que fiz até agora percebi isso também... acho que não vou poder mesmo usar stored procedures mais complexas.

    Obrigada!

    segunda-feira, 1 de outubro de 2007 13:37
  • Isso, as SPs criadas só aceitam SQL que uma consulta simples aceitaria.

     

    Se precisar de algo mais complexo, é possível executar uma SP do SQL Server a partir do Access, mas não criá-la no Jet.

     

    terça-feira, 2 de outubro de 2007 04:01
    Moderador