MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Consulta em SQL perde conexao com o banco SQL

    Compartilhe

    ilvecchio
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 127
    Registrado : 16/11/2012

    Consulta em SQL perde conexao com o banco SQL

    Mensagem  ilvecchio em Qui 16 Jul 2015, 18:32

    Buenas!
    Criei algumas consultas SQL em substituição a tabelas vinculadas à uma base SQL.
    Porém, eventualmente a consulta simplesmente perde a conexão.

    A instrução da consulta é assim:

    SELECT * FROM dbo.Tabela001 IN '' [ODBC;Driver={SQL Server};SERVER=CONT99440;DATABASE=CONTABIL;UID=ADM;PWD=ADM875@];

    Quando percebo a ausencia da conexão, verifico que a consulta está assim:

    SELECT * FROM [dbo].Tabela001 IN '' [ODBC;Driver={SQL Server};SERVER=CONT99440;DATABASE=CONTABIL;UID=ADM;PWD=ADM875@];

    O Access(2003) coloca os colchetes em torno do termo dbo.


    Porque isso ocorre?

    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5890
    Registrado : 05/11/2009

    Re: Consulta em SQL perde conexao com o banco SQL

    Mensagem  Alexandre Neves em Sex 17 Jul 2015, 08:59

    Bom dia,
    Esses colchetes (parêntisis rectos) servem para que o nome nele contido seja considerado um só. Se o nome tiver um espaço faz toda a diferença entre ter o nome envolvido por parêntisis ou não. Nada mais


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    ilvecchio
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 127
    Registrado : 16/11/2012

    Re: Consulta em SQL perde conexao com o banco SQL

    Mensagem  ilvecchio em Sex 17 Jul 2015, 12:17

    Tá.
    Permanece a questão: porque o Access coloca, voluntariamente, esses colchetes? Pois quando isso acontece ocorre o erro, vez que a tabela não se chama [dbo].Tabela001 e sim dbo.Tabela001.

    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5890
    Registrado : 05/11/2009

    Re: Consulta em SQL perde conexao com o banco SQL

    Mensagem  Alexandre Neves em Sex 17 Jul 2015, 12:20

    Se a tabela se chama dbo.Tabela001, experimente [dbo.Tabela001]


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    ilvecchio
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 127
    Registrado : 16/11/2012

    Re: Consulta em SQL perde conexao com o banco SQL

    Mensagem  ilvecchio em Seg 20 Jul 2015, 14:27

    Buenas!
    Vou contar a história completa.

    1) SELECT * FROM [dbo].Tabela001 IN '' [ODBC;Driver={SQL Server};SERVER=CONT99440;DATABASE=CONTABIL;UID=ADM;PWD=ADM875@];

    2) Quando percebo que o access colocou os colchetes em torno do termo dbo, altero colocando, novamente, os colchetes no início e no fim do nome da tabela: [dbo.Tabela001]
    3) Salvo e abro a consulta. Funciona.
    4) Abro consulta no modo design e constato que o Access retirou os colchetes:
      SELECT * FROM dbo.Tabela001 IN '' [ODBC;Driver={SQL Server};SERVER=CONT99440;DATABASE=CONTABIL;UID=ADM;PWD=ADM875@];

    Até aqui tudo bem. Porém, quando eu distribuir os Front-end (.mde) e, isso ocorrer, o banco não funcionará.

    Tentando solucionar o problema pensei usar um código que fizesse a alteração sempre que o banco fosse aberto. Consegui este no site do OsmarJR:

    Sub MudaSQL()
       'Cortesia de JR - Mai/2005.
       Dim db As DAO.Database, qdf As QueryDef
       Set db = CurrentDb
       Set qdf = db.QueryDefs("Tabela001")
       qdf.sql = "SELECT * FROM [dbo.Tabela001] IN '' [ODBC;Driver={SQL Server};SERVER=CONT99440;DATABASE=CONTABIL;UID=ADM;PWD=ADM875@];"
       Set qdf = Nothing
       Set db = Nothing
    End Sub

    5) O código cumpre o que promete, e faz a alteração. Contudo a consulta não funciona.
    6) Estranhamente, o problema se resolve assim:
    7) Abro a consulta no modo design, e arrasto todos os campos pelo asterisco para a grade, criando uma só coluna.
    Cool Ato contínuo, excluo a coluna e salvo.
    9) Pronto, a consulta volta a mostrar os registros.


    É claro que esta não é a solução, pois os usuários não poderão adotá-la.
    Então, volto à estaca zero.

    Como saio desta?

    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5890
    Registrado : 05/11/2009

    Re: Consulta em SQL perde conexao com o banco SQL

    Mensagem  Alexandre Neves em Ter 21 Jul 2015, 10:25

    Bom dia,
    Vá a uma bd que a consulta funcione, abra-a em modo SQL e veja o código guardado.


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    ilvecchio
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 127
    Registrado : 16/11/2012

    Re: Consulta em SQL perde conexao com o banco SQL

    Mensagem  ilvecchio em Ter 21 Jul 2015, 16:02

    Bom dia, Alexandre.

    A consulta armazenada está sem os colchetes, como deveria ser:

    SELECT * FROM dbo.Tabela001 IN '' [ODBC;Driver={SQL Server};SERVER=CONT99440;DATABASE=CONTABIL;UID=ADM;PWD=ADM875@];


    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5890
    Registrado : 05/11/2009

    Re: Consulta em SQL perde conexao com o banco SQL

    Mensagem  Alexandre Neves em Ter 21 Jul 2015, 16:08

    Então, coloque a consulta sem colchetes, senão, será estranho


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    ilvecchio
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 127
    Registrado : 16/11/2012

    Re: Consulta em SQL perde conexao com o banco SQL

    Mensagem  ilvecchio em Qua 22 Jul 2015, 19:20

    O código para alterar a consulta só funciona se colocar o nome da tabela entre colchetes. Se não o fizer, a consulta permanece com os colchetes em torno do termo dbo.

      Data/hora atual: Sab 10 Dez 2016, 12:44