Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Botao para agilizar compilação em ACCDE


Humm

Pergunta

Criei um codigo que primeiro desativa os recursos padrão do access.. depois deveria criar o ACCDE e então habilitar novamente os recursos.. isso pra facilitar ao invés de ficar toda hora indo nas opcoes do access.

Private Sub BT_COMPILAR_Click()
    'Desabilitando Menus Completos, Menus de Atalho, Barra de Status, Painel de Navegação, Teclas Especiais
    Application.CurrentDb.Properties("AllowFullMenus") = False
    Application.CurrentDb.Properties("AllowShortcutMenus") = False
    Application.CurrentDb.Properties("StartUpShowStatusBar") = False
    Application.CurrentDb.Properties("StartUpShowDBWindow") = False
    Application.CurrentDb.Properties("AllowSpecialKeys") = False

    'Criando ACCDE
    Dim app As New Access.Application

    Dim CodigoFonte As String
    Dim Compilacao As String
    CodigoFonte = CurrentDb.Name
    Compilacao = Left(CurrentDb.Name, (Len(CurrentDb.Name) - 5)) & "accde"    
                
    app.AutomationSecurity = msoAutomationSecurityLow
     app.SysCmd 603, CodigoFonte, Compilacao
    
    'Habilitando Menus Completos, Menus de Atalho, Barra de Status, Painel de Navegação, Teclas Especiais novamente no ACCDB
    Application.CurrentDb.Properties("AllowFullMenus") = True
    Application.CurrentDb.Properties("AllowShortcutMenus") = True
    Application.CurrentDb.Properties("StartUpShowStatusBar") = True
    Application.CurrentDb.Properties("StartUpShowDBWindow") = True
    Application.CurrentDb.Properties("AllowSpecialKeys") = True

End Sub

ao rodar o codigo, não da erros.. e tal

mas a parte que deveria criar o ACCDE não funciona.. não da erro mas tambem não gera resultado.

o q pode estar havendo?

Editado por Humm
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Tava errado o código, tirei daqui mas entendi o erro, o banco (accdb) tem que estar fechado

Da pra você remover os menus, salvar o arquivo, copiar o arquivo e salvar na mesma pasta como um arquivo temporário dando um Replace(CurrentDB.Name, ".accdb", "Temp.accdb") no nome dele e mandar gerar accde do arquivo temp fechado, depois dar um kill nele (no temp) e voltar os menus no que você ta aberto

Editado por Iceguy
Link para o comentário
Compartilhar em outros sites

  • 0

Private Sub BT_COMPILA_Click()
    Dim app As New Access.Application
    Dim CodigoFonte As String
    Dim Temp As String
    Dim Compilacao As String
    
    CodigoFonte = CurrentDb.Name
    Temp = CurrentProject.PATH & "\temp.accdb"
    Compilacao = Left(CurrentDb.Name, (Len(CurrentDb.Name) - 5)) & "accde"
    
    FileCopy CodigoFonte, Temp
    
    app.AutomationSecurity = msoAutomationSecurityLow
    app.SysCmd 603, Temp, Compilacao
ta dando erro no filecopy erro em tempo de execução 70 permissão negada ou seja, ele não me deixa copiar o currentbd pois alega que está em uso e assim, bloqueado. mas isso so no entendimento do access, pois mesmo aberto eu consigo dar um copiar/colar pelo windows explorer sem problemas. se eu testar com outro arquivo q n seja o currentdb, funciona. RESOLVIDO:
Private Sub BT_COMPILA_Click()
    'declarações
    Dim app As New Access.Application
    Dim CodigoFonte As String
    Dim Temp As String
    Dim Compilacao As String
    Dim objfs As Object
    
    CodigoFonte = CurrentDb.Name
    Temp = CurrentProject.PATH & "\temp.accdb"
    Compilacao = Left(CurrentDb.Name, (Len(CurrentDb.Name) - 5)) & "accde"
    
    'copiando projeto em temp
    Set objfs = CreateObject("Scripting.FileSystemObject")
    objfs.CopyFile CodigoFonte, Temp

    'transformando temp em accde
    app.AutomationSecurity = msoAutomationSecurityLow
    app.SysCmd 603, Temp, Compilacao
    
    'deletando temp
    Kill Temp
    
End Sub

Editado por Humm
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...