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

    Colocar uma constante pública como caminho em uma consulta SQL

    Compartilhe

    ilvecchio
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Colocar uma constante pública como caminho em uma consulta SQL

    Mensagem  ilvecchio em Seg 21 Nov 2016, 12:20

    Buenas!
    Uso este tipo de consulta SQL para obter dados de uma tabela em outro banco Access:

    SELECT *
    FROM TabTesteSQL IN 'C:PastaDeTestes\BaseTestesSQL.mdb';

    Porém, quero colocar o caminho do banco em uma constante, para não ter de mudar em cada consulta, cada vez que o banco for colocado em outro diretório ou trocar de nome.

    Public Const ConstCaminhoSQL As String = "C:PastaDeTestes\BaseTestesSQL.mdb"

    Fiz assim mas não aceitou:

    SELECT *
    FROM TabTesteSQL IN 'ConstCaminhoSQL';

    Nem assim:

    SELECT *
    FROM TabTesteSQL IN ConstCaminhoSQL;


    Se alguém puder me ajudar, agradeço.



    =>Nois
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 532
    Registrado : 09/11/2012

    Re: Colocar uma constante pública como caminho em uma consulta SQL

    Mensagem  =>Nois em Seg 21 Nov 2016, 14:09

    tente criar um modulo com esta função


    Código:
    Public Function strCaminho()


    strCaminho = ("C:\PastaDeTestes\BaseTestesSQL.mdb")


    End Function


    a proposito estava faltando a barra invertida no c:

    C:\PastaDeTestes\BaseTestesSQL.mdb


    .................................................................................
    [Você precisa estar registrado e conectado para ver esta imagem.] Att. Nois

    Se tudo não der certo reflita nessa frase: "Huguinho", "Zezinho" & "Luizinho"

    ilvecchio
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: Colocar uma constante pública como caminho em uma consulta SQL

    Mensagem  ilvecchio em Seg 21 Nov 2016, 16:45

    Buenas!

    Fiz exatamente como dissestes:

    Public Function strCaminho()


    strCaminho = ("C:\PastaDeTestes\BaseTestesSQL.mdb")


    End Function


    SELECT * FROM TabTesteSQL IN strCaminho;

    Mostra a mensagem:
    Não foi possível encontrar o arquivo 'C\Users\Usuario\Documents\strCaminho'. (assim mesmo, sem os dois pontos depois do C >>> C:)

    Lembrando que é uma consulta. Não é um procedimento SQL dentro de um módulo.


    =>Nois
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 532
    Registrado : 09/11/2012

    Re: Colocar uma constante pública como caminho em uma consulta SQL

    Mensagem  =>Nois em Seg 21 Nov 2016, 17:32


    tente assim

    SELECT * FROM TabTesteSQL IN 'strCaminho';


    .................................................................................
    [Você precisa estar registrado e conectado para ver esta imagem.] Att. Nois

    Se tudo não der certo reflita nessa frase: "Huguinho", "Zezinho" & "Luizinho"

    ilvecchio
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: Colocar uma constante pública como caminho em uma consulta SQL

    Mensagem  ilvecchio em Ter 22 Nov 2016, 10:56

    Buenas!
    Mesma mensagem.
    Funcionou aí prá você?

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3217
    Registrado : 15/03/2013

    Re: Colocar uma constante pública como caminho em uma consulta SQL

    Mensagem  ahteixeira em Ter 22 Nov 2016, 12:09

    Olá, teste assim:

    Código:
    SELECT * FROM TabTesteSQL IN 'strCaminho()';

    Abraço

    ilvecchio
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: Colocar uma constante pública como caminho em uma consulta SQL

    Mensagem  ilvecchio em Ter 22 Nov 2016, 15:09

    Buenas!
    Então, não sei porque aqui não funciona.

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3217
    Registrado : 15/03/2013

    Re: Colocar uma constante pública como caminho em uma consulta SQL

    Mensagem  ahteixeira em Ter 22 Nov 2016, 15:29

    Ola, monte pequeno exemplo com bases de dados e poste aqui.
    Assim fica mais fácil para testar e ajudar.
    Abraço

    ilvecchio
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: Colocar uma constante pública como caminho em uma consulta SQL

    Mensagem  ilvecchio em Ter 22 Nov 2016, 15:58

    Buenas!

    Não funciona para consulta seleção, mas funciona para consulta acréscimo, e dentro de um módulo.

    Public Function strCaminho()

    'notem que a string fica entre aspas simples e duplas

     strCaminho = "'C:\PastaDeTestes\BaseTestesSQL.mdb'"  

       CurrentDb.Execute "INSERT INTO TabTeste IN " & strCaminho & "" _
                         & "SELECT [TabTeste].* " _
                         & "FROM [TabTeste];"

    End Function


    Vai servir para outro procedimento que terei de fazer: acrescentar registros em tabelas de outro banco.
    Colocarei todas as instruções  CurrentDb.Execute "INSERT ... " no módulo e substituirei a variável (em um único lugar) quando precisar.

    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: Colocar uma constante pública como caminho em uma consulta SQL

    Mensagem  Alexandre Neves em Sab 26 Nov 2016, 21:12

    Boa noite,
    Tanto tempo com Access e ainda nomeia o procedimento igual à variável?
    Código:
    Public Function strCaminho()
    strCaminhoA = "'C:\PastaDeTestes\BaseTestesSQL.mdb'" 
    CurrentDb.Execute "INSERT INTO TabTeste IN " & strCaminhoA & " SELECT * FROM TabTeste;"
    End Function


    .................................................................................
    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

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2511
    Registrado : 29/06/2012

    Re: Colocar uma constante pública como caminho em uma consulta SQL

    Mensagem  Noobezinho em Sab 26 Nov 2016, 21:39

    Olá Amigos

    Uso os comandos RunSql "sentençaSQL"  ao invés de  CurrentDb.Execute  para  executar sentenças SQL de consulta Ação.

    Acredito que assim como  o RunSQL só executa consultas Ação creio que o CurrentDb.Execute também o faça.

    Experimente utilizar o comando docmd.OpenQuery("NomeDaConsultaSeleção").

    Como podem ver, somente para consultas seleção, e não sentençasSQL.

    [ ['s


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

    ilvecchio
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: Colocar uma constante pública como caminho em uma consulta SQL

    Mensagem  ilvecchio em Ter 29 Nov 2016, 11:22

    Buenas!
    Alexandre, se eu usar o mesmo nome da função para a variável pode ocorrer algum conflito?
    Tenho alguns casos onde isso ocorre. Alguma consequência indesejável?

    Obrigado.

    Noobezinho, não quis usar o comando docmd.OpenQuery, para, exatamente não ter que criar as consultas.
    O endereço do outro banco estaria nelas e, caso precisasse alterá-lo, teria que entrar em cada uma para fazê-lo.

    Obrigado.

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2511
    Registrado : 29/06/2012

    Re: Colocar uma constante pública como caminho em uma consulta SQL

    Mensagem  Noobezinho em Ter 29 Nov 2016, 14:29

    Luiz

    Olhando com mais atenção no que escreveu:

    'C\Users\Usuario\Documents\strCaminho'. (assim mesmo, sem os dois pontos depois do C >>> C:)


    Acredito que tenha utilizar o caminho UNC ou de rede para acessar o outro banco e a tabela

    \\NomeComputador\C\PastaDeTestes\BaseTestesSQL.mdb

    Experimente !

    [ ]'s


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

    ilvecchio
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: Colocar uma constante pública como caminho em uma consulta SQL

    Mensagem  ilvecchio em Qui 01 Dez 2016, 12:16

    Buenas!
    Obrigado, Noobezinho. Vou testar.

      Data/hora atual: Sex 09 Dez 2016, 11:35