MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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

    [Resolvido] Capturar valor do 'Command Line' na abertura da Base de Dados

    brunogor
    brunogor
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 235
    Registrado : 24/02/2013

    [Resolvido] Capturar valor do 'Command Line' na abertura da Base de Dados Empty [Resolvido] Capturar valor do 'Command Line' na abertura da Base de Dados

    Mensagem  brunogor em 9/7/2020, 17:26

    Olá a todos ,

    Tenho uma Base de dados que tem duas opções de abertura, através de um Atalho, para macros através de "Command Line":

    Código:
    "C:\Program Files\Microsoft Office\Office15\Samples\Teste" /xConfig
    "C:\Program Files\Microsoft Office\Office15\Samples\Teste" /xBegin

    A macro "AutoExec" chama a "FncVerify()", assim:
    Código:
     ' Check the value returned by Command function and display the appropriate msg.
        If Command = "Config" Then
            MsgBox "Config"
        ElseIf Command = "Begin" Then
            MsgBox "Begin"
        End If

    Mas na abertura da Base de dados, não estou a conseguir capturar o valor do "Command"

    Podem me dizer onde estou a falhar?

    Obrigado


    Última edição por brunogor em 10/7/2020, 14:50, editado 1 vez(es)
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2453
    Registrado : 22/11/2016

    [Resolvido] Capturar valor do 'Command Line' na abertura da Base de Dados Empty Re: [Resolvido] Capturar valor do 'Command Line' na abertura da Base de Dados

    Mensagem  DamascenoJr. em 9/7/2020, 17:44

    Nunca testei, mas até onde sei essa maneira de capturar Command funciona para Visual Basic. No Access, o /x significa chamar uma macro na abertura tal qual a macro AutoExec que é executada automaticamente.

    /x teste - executa uma macro chamada teste na abertura
    /x azul - executa uma macro chamada azul na abertura

    Ou seja, crie uma macro chamada "Config" e a configure para abrir o formulário "Config". Crie uma macro chamada "Begin" e a configure para abrir um formulário de mesmo nome.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    brunogor
    brunogor
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 235
    Registrado : 24/02/2013

    [Resolvido] Capturar valor do 'Command Line' na abertura da Base de Dados Empty Capturar valor do 'Command Line' na abertura da Base de Dados

    Mensagem  brunogor em 9/7/2020, 17:49

    Olá Damasceno,

    Já tenho isso implementado,.
    O que eu pretendo é abrir a Base de Dados, através de um desses dois comandos e, depois no AutoExec , verificar qual o Comando que eu utilizei na abertura.

    Tipo isto, mas que funcione:
    stackoverflow.com/questions/33888815/how-to-start-access-from-commandline-in-regular-mode

    Ou isto:
    support.microsoft.com/en-us/office/command-function-fec67826-7fd7-48ed-a7aa-479c020ffaa4


    Cumprimentos
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2453
    Registrado : 22/11/2016

    [Resolvido] Capturar valor do 'Command Line' na abertura da Base de Dados Empty Re: [Resolvido] Capturar valor do 'Command Line' na abertura da Base de Dados

    Mensagem  DamascenoJr. em 10/7/2020, 00:01

    Li sua indicação e parece então que usar isto está errado

    /xConfig

    O correto seria

    /cmd "Config"


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    brunogor
    brunogor
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 235
    Registrado : 24/02/2013

    [Resolvido] Capturar valor do 'Command Line' na abertura da Base de Dados Empty Capturar valor do 'Command Line' na abertura da Base de Dados

    Mensagem  brunogor em 10/7/2020, 09:35

    Olá Damasceno,

    Antes de mais quero agradecer a atenção que tem demonstrado, tanto nesta dúvida como noutras.

    Bem, testei e não funcionou,

    Deixo aqui a DB como mandam as boas práticas do forum
    Anexos
    [Resolvido] Capturar valor do 'Command Line' na abertura da Base de Dados AttachmentTeste_Command.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (24 Kb) Baixado 4 vez(es)
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2453
    Registrado : 22/11/2016

    [Resolvido] Capturar valor do 'Command Line' na abertura da Base de Dados Empty Re: [Resolvido] Capturar valor do 'Command Line' na abertura da Base de Dados

    Mensagem  DamascenoJr. em 10/7/2020, 11:43

    Rapidamente testei no meu 365 e não funcionou. Já no meu 2007 deu certo.

    Qual sua versão Access?


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    brunogor
    brunogor
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 235
    Registrado : 24/02/2013

    [Resolvido] Capturar valor do 'Command Line' na abertura da Base de Dados Empty Capturar valor do 'Command Line' na abertura da Base de Dados

    Mensagem  brunogor em 10/7/2020, 12:39

    Damasceno,
    Tenho o Access 2013 32x
    Cumprimentos

    Bruno Gordino
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido] Capturar valor do 'Command Line' na abertura da Base de Dados Empty Re: [Resolvido] Capturar valor do 'Command Line' na abertura da Base de Dados

    Mensagem  ahteixeira em 10/7/2020, 12:57

    Olá a todos,

    Estive aqui a fazer o teste e creio que o problema está no caminho do Access instalado que deve ser indicado nas versões superiores ao 2007:

    Para obter o caminho do Access instalado, vejam tópico abaixo que faz isso para criar o atalho:
    https://www.maximoaccess.com/t33894-icon-e-titulo-da-aplicacao-e-criar-atalho-no-ambiente-de-trabalho

    Segue o meu teste, descompactar para o disco local de forma a ficar: C:\#Temp  :
    https://cld.pt/dl/download/971b9284-e492-4cc8-b4b5-8277c147342d/TesteAtalho.zip

    No 2016 testei assim e funcionou:
    Código:
    "C:\Program Files (x86)\Microsoft Office\Office16\MSACCESS.EXE" "C:\$Temp\Teste_Command.mdb"  /x Config

    Nota, eliminei a macro Autoexec e Modulo, pois creio que não seja necessário para a questão.

    Abraço a todos
    brunogor
    brunogor
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 235
    Registrado : 24/02/2013

    [Resolvido] Capturar valor do 'Command Line' na abertura da Base de Dados Empty Capturar valor do 'Command Line' na abertura da Base de Dados

    Mensagem  brunogor em 10/7/2020, 13:59

    Olá Álvaro, mais uma vez nos encontramos aqui.

    Espero que esteja tudo bem consigo.

    O exemplo que postou funciona, mas não me ajuda, pois preciso do "Autoexec" e através da função que ele chama verificar qual o "Comando" que foi utilizado no atalho.

    Obrigado na mesma

    Bruno Gordino
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido] Capturar valor do 'Command Line' na abertura da Base de Dados Empty Re: [Resolvido] Capturar valor do 'Command Line' na abertura da Base de Dados

    Mensagem  ahteixeira em 10/7/2020, 14:19

    Olá a todos,

    Bruno, tudo bom e espero que também consigo e todos os membros do fórum.
    Eu esqueci de alterar, no exemplo conforme dica da mensagem nº 4 do colega moderador Damasceno, ficando assim:
    Código:
    "C:\Program Files (x86)\Microsoft Office\Office16\MSACCESS.EXE" "C:\#Temp\Teste_Command.mdb" /cmd "Config"

    Comigo funcionou no 2016, segue o teste

    Abraço
    Anexos
    [Resolvido] Capturar valor do 'Command Line' na abertura da Base de Dados AttachmentTesteAtalhoCommandLine.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (18 Kb) Baixado 0 vez(es)


    Última edição por ahteixeira em 10/7/2020, 16:39, editado 1 vez(es) (Razão : anexo)
    brunogor
    brunogor
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 235
    Registrado : 24/02/2013

    [Resolvido] Capturar valor do 'Command Line' na abertura da Base de Dados Empty Capturar valor do 'Command Line' na abertura da Base de Dados

    Mensagem  brunogor em 10/7/2020, 15:04

    Olá Álvaro

    Funcionou perfeitamente.

    O Damasceno já me tinha passado o comando '   /cmd "Config"   ' e não resultou, porque no atalho, como referiu, tem que se fazer referência ao MS Access:
    Código:
    "C:\Program Files (x86)\Microsoft Office\Office16\MSACCESS.EXE" "C:\#Temp\Teste_Command.mdb" /cmd "Config"

    Poucas serão as palavras para agradecer a vossa ajuda durante estes anos e a tranquilidade que me dão, a quando da resolução dos problemas.

    Damasceno e Álvaro o meu Muito e Grande obrigado.

    Até uma próxima.

    Bruno Gordino
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido] Capturar valor do 'Command Line' na abertura da Base de Dados Empty Re: [Resolvido] Capturar valor do 'Command Line' na abertura da Base de Dados

    Mensagem  ahteixeira em 10/7/2020, 16:39

    Olá a todos,

    Bruno, ficou resolvido, obrigado pelo retorno.
    Bom fim de semana para todos

    cheers

      Data/hora atual: 1/12/2020, 12:03