MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

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


4 participantes

    [Resolvido]Rotina para verificar se existe Runtime ou Access na máquina

    avatar
    M2013
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 64
    Registrado : 07/06/2013

    [Resolvido]Rotina para verificar se existe Runtime ou Access na máquina Empty [Resolvido]Rotina para verificar se existe Runtime ou Access na máquina

    Mensagem  M2013 14/12/2015, 16:46

    Alguém conhece alguma rotina que verifica o que está instalado na máquina de MS-Access ?
    Tipo como indicar que uma versão de runtime ou uma versão do Access está instalada.

    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido]Rotina para verificar se existe Runtime ou Access na máquina Empty Re: [Resolvido]Rotina para verificar se existe Runtime ou Access na máquina

    Mensagem  JPaulo 14/12/2015, 17:11

    Se pretender fazer ao abrir de um form;

    Código:
    Private Sub Form_Open(Cancel As Integer)
    If SysCmd(acSysCmdRuntime) = True Then
       MsgBox "Runtime"
       Else
       MsgBox "Ms Access"
       End If
    End Sub


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Rotina para verificar se existe Runtime ou Access na máquina Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Rotina para verificar se existe Runtime ou Access na máquina Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Rotina para verificar se existe Runtime ou Access na máquina Folder_announce_new Instruções SQL como utilizar...
    avatar
    M2013
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 64
    Registrado : 07/06/2013

    [Resolvido]Rotina para verificar se existe Runtime ou Access na máquina Empty Re: [Resolvido]Rotina para verificar se existe Runtime ou Access na máquina

    Mensagem  M2013 14/12/2015, 17:32

    Obrigado pela resposta JPaulo.

    Então, na verdade estou querendo é bloquear a abertura de um banco de dados de acordo com a versão do runtime e/ou versão do Access.
    Pelo seu código, pude pesquisar e achei esses parametros que indicam a versão:

    SysCmd(acSysCmdAccessVer)
    SysCmd(acSysCmdRuntime)

    Porém, não sei se você tem essa relação, ele indica uma versão diferente da comercial, isto é:
    a versão...

    2000= 9.0  ;
    Office XP= 10.0 ;
    2003 = 11.0 ;
    2007 = 12.0 ;
    2010= 14.0;

    Mas não consegui achar essa correlação para os runtimes........ Saberia dizer onde posso encontrar?
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    [Resolvido]Rotina para verificar se existe Runtime ou Access na máquina Empty Re: [Resolvido]Rotina para verificar se existe Runtime ou Access na máquina

    Mensagem  Avelino Sampaio 14/12/2015, 19:29

    Olá!

    veja se este meu artigo ajuda

    http://www.usandoaccess.com.br/dicas/verificar-service-pack-instalado.asp?id=1

    Sucesso!



    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    M2013
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 64
    Registrado : 07/06/2013

    [Resolvido]Rotina para verificar se existe Runtime ou Access na máquina Empty Re: [Resolvido]Rotina para verificar se existe Runtime ou Access na máquina

    Mensagem  M2013 15/12/2015, 10:15

    Olá Avelino, obrigado pela resposta.

    Ajudou bastante com 'Application.Build' onde posso juntamente com 'Application.Version' descobrir a versão/compilação do Access.

    Estou a procura de um tabela onde teria uma relação das versões/compilações dos pacotes Office já lançados até hoje.

    abraço

    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Rotina para verificar se existe Runtime ou Access na máquina Empty Re: [Resolvido]Rotina para verificar se existe Runtime ou Access na máquina

    Mensagem  Noobezinho 15/12/2015, 11:07

    Marcelo

    As vezes, olhamos algo e não enxergamos o que vimos. Razz

    Então, a pergunta que não quer calar:

    Como irá testar a versão do Access no computador do cliente através

    do Access, se ele não irá rodar se forem de versões diferentes?

    No site do Avelino, se prestou atenção, diz:

    "No meu caso, eu utilizo o arquivo instalador InnoSetup/IStool , no qual criei uma rotina de verificação da versão do Office."

    Ou seja, com o Access não adianta, se ele nem vai rodar, não tem como testar.

    Portanto, se quer fazer algo profissional , acate a dica do Avelino

    Veja parte do algoritmo feito no  InnoSetup/IStool , que testa a versão do Windows (32 ou 64) e a versão do Office:
    Código:

    if isWin64 then ' se é windows 64
          begin
                if (RegQueryStringValue(HKEY_LOCAL_MACHINE,'Software\wow6432node\Microsoft\Office\14.0\Access\InstallRoot','Path', Pasta)) or
                   (RegQueryStringValue(HKEY_LOCAL_MACHINE,'Software\wow6432node\Microsoft\Office\12.0\Access\InstallRoot','Path', Pasta)) then
                   begin
                   retorno :=  'verdade';  // access 2007 e 2010 32 bits, roda o meu aplicativo
                   Result  := retorno;
                   end

                 else if(RegQueryStringValue(HKEY_LOCAL_MACHINE,'Software\Microsoft\Office\14.0\Access\InstallRoot','Path', Pasta)) then
                      begin
                      retorno :=  'false'; // O win64 está com o Access 2010 64 bits, portanto, nossa aplicação não roda nele, então defino o retorno como false
                                          // para instalar o runtime
                      Result  := retorno;
                      end
           end
      else   //(win32)
           begin
           if (RegQueryStringValue(HKEY_LOCAL_MACHINE,'Software\Microsoft\Office\14.0\Access\InstallRoot','Path', Pasta)) then
              begin
              retorno :=  'verdade';  // 2010 32 bits, roda o meu aplicativo
              Result  := retorno;
              end

           else if (RegQueryStringValue(HKEY_LOCAL_MACHINE,'Software\Microsoft\Office\12.0\Access\InstallRoot','Path', Pasta)) then
                begin
                      accver := AccessVersion();
                      versao :=StrToInt(copy(accver,6,pos('.',accver)+1))
                      if versao  >= 6425 then     //6425 = runtime
                         begin

                            //MsgBox( 'A Versão ('+ accver +') do MS Access está instalada.',mbInformation, MB_OK );
                              retorno :=  'verdade';
                               Result := retorno;
                         end
                      else begin

    A linguagem é Delphi, então terá que aprender um pouco,para poder fazer teu instalador.

    Eu ralei pra fazer esse meu instalador, mas ficou como eu pretendia. Wink


    *Nascidos em 10/04  sunny
    [ ]'s


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    M2013
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 64
    Registrado : 07/06/2013

    [Resolvido]Rotina para verificar se existe Runtime ou Access na máquina Empty Re: [Resolvido]Rotina para verificar se existe Runtime ou Access na máquina

    Mensagem  M2013 15/12/2015, 13:08

    Noobezinho, muito obrigado pela resposta.



    Conteúdo patrocinado


    [Resolvido]Rotina para verificar se existe Runtime ou Access na máquina Empty Re: [Resolvido]Rotina para verificar se existe Runtime ou Access na máquina

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 04:01