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


2 participantes

    [Resolvido]Compactar e reparar no evento On Timer do formulario

    avatar
    Daniel Meireles
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 88
    Registrado : 16/05/2012

    [Resolvido]Compactar e reparar no evento On Timer do formulario Empty Compactar e reparar no evento On Timer do formulario

    Mensagem  Daniel Meireles 26/11/2012, 13:08

    Olá amigos do forum,

    Estou tentando colocar uma rotina de compactar e reparar no evento timer do form,adaptei um codigo deste topico ao timer e funciona bem,porém só funciona se a tela do formulario estiver ativa, se o pc estiver em tela de descanso ou em outra tela qualquer o codigo SendKeys "%(FMC)", False não funciona. Existe algum outro cogido que eu poderia usar para esta função?

    Topico:
    http://maximoaccess.forumeiros.com/t8966-compactar-proprio-banco?highlight=compactar

    Codigo:
    Private Sub Form_Timer()
    Me.Label1.Caption = Format(Now, "hh:mm:ss")
    Me.Label1.Caption = "07:00:00" Then


    SendKeys "%(FMC)", False



    obrigado
    avatar
    Daniel Meireles
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 88
    Registrado : 16/05/2012

    [Resolvido]Compactar e reparar no evento On Timer do formulario Empty Re: [Resolvido]Compactar e reparar no evento On Timer do formulario

    Mensagem  Daniel Meireles 27/11/2012, 13:20

    Up no topico
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Compactar e reparar no evento On Timer do formulario Empty Re: [Resolvido]Compactar e reparar no evento On Timer do formulario

    Mensagem  JPaulo 27/11/2012, 22:24

    Ola Daniel;

    Veja o simples;


    Private Sub Form_Timer()
    Me.Label1.Caption = Format(Now, "hh:mm:ss")
    If Me.Label1.Caption = "07:00:00" Then
    Access.RunCommand acCmdAppMaximize
    SendKeys "%(FMC)", False
    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]Compactar e reparar no evento On Timer do formulario Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Compactar e reparar no evento On Timer do formulario Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Compactar e reparar no evento On Timer do formulario Folder_announce_new Instruções SQL como utilizar...
    avatar
    Daniel Meireles
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 88
    Registrado : 16/05/2012

    [Resolvido]Compactar e reparar no evento On Timer do formulario Empty Re: [Resolvido]Compactar e reparar no evento On Timer do formulario

    Mensagem  Daniel Meireles 28/11/2012, 11:17

    Obrigado pelo retorno Jpaulo.

    a opção que vc me passou é otima, ele maximiza a tela do access mesmo com o computador em bloqueio(logoff, porém o codigo SendKeys "%(FMC)",False não funciona da mesma forma, é que eu faço uma atualização automatica das minhas tabelas as 06:00 da manhã, não estou no setor ainda, e o computador está ligado porém o mesmo entra em logoff após alguns minutos sem uso.

    Então a ideia é a seguinte, o Access atualizará as tabelas mais pesadas e compactará automaticamente e depois seguirá na atualização das demais tabelas menos pesadas.

    Conheces outro codigo que faça a compactação mesmo com o logoff do pc?

    Abraço
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Compactar e reparar no evento On Timer do formulario Empty Re: [Resolvido]Compactar e reparar no evento On Timer do formulario

    Mensagem  JPaulo 28/11/2012, 11:32

    A instrução que lhe passei, maximiza o banco e compacta-o, isto no Ms Access 2007.

    Não entendi muito bem a sua ultima duvida, mas se quiser testar com outro código, eu tenho também este;


    Private Sub SeuBotão_Click()
    Dim ws As Object
    Set ws = CreateObject("WScript.shell")
    ws.SendKeys "%AGO"
    Set ws = Nothing
    End Sub


    Resolvido neste tópico:
    http://maximoaccess.forumeiros.com/t3873-resolvidocompactar-banco-de-dados


    .................................................................................
    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]Compactar e reparar no evento On Timer do formulario Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Compactar e reparar no evento On Timer do formulario Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Compactar e reparar no evento On Timer do formulario Folder_announce_new Instruções SQL como utilizar...
    avatar
    Daniel Meireles
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 88
    Registrado : 16/05/2012

    [Resolvido]Compactar e reparar no evento On Timer do formulario Empty Re: [Resolvido]Compactar e reparar no evento On Timer do formulario

    Mensagem  Daniel Meireles 28/11/2012, 12:49

    Sim a instrução que você me passou maximiza e compacta perfeitamente quando o computador não esta com a tela de descanso ou bloqueado (em logoff), mas como eu gostaria de fazer esta rotina as 06:00 am o computador estará em logoff(ligado porém bloqueado com CRTL+ALt+DEL), então ele maximiza mas não compacta. Ja tentei aqui na empresa fazer com que não bloqueie automaticamente, mas por questões de segurança eles nao deixaram.

    quanto ao ultimo codigo que vc me passou apresenta um erro,

    ele da as seguintes mensagens:

    Dependency information needs to be updated before you can view object dependencies. This could take a several minutes.Deseja continuar?

    clico em SIM

    ai apresenta esta:
    To view object or change the track name Autocorrect info option, MS Access must close all objects and updated dependency information.Deseja continuar?

    depois acusa um erro, dei o print na tela, se puder dar uma olhadinha eu ficarei grato.

    Abraço
    Anexos
    [Resolvido]Compactar e reparar no evento On Timer do formulario AttachmentErro compactar.ppt
    Você não tem permissão para fazer download dos arquivos anexados.
    (280 Kb) Baixado 1 vez(es)
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Compactar e reparar no evento On Timer do formulario Empty Re: [Resolvido]Compactar e reparar no evento On Timer do formulario

    Mensagem  JPaulo 28/11/2012, 14:50

    Esqueça esse ultimo;

    Pelos imensos teste que fiz aqui no trabalho, só um resultou com o banco em OFF pelas teclas CRTL+ALt+DEL.

    Mas isso implica o código fechar o formulario.

    1º Cole num modulo novo e salve, com um nome a seu gosto.


    Public Sub CompactarBD()
    Dim strfrm As Form
    For Each strfrm In Forms
    DoCmd.Close acForm, strfrm.Name, acSaveNo
    Next strfrm
    SendKeys "%(FMC)", False
    End Sub



    No seu formulario, ficará assim;


    Private Sub Form_Timer()
    Me.Label1.Caption = Format(Now, "hh:mm:ss")
    If Me.Label1.Caption = "14:45:00" Then
    Access.RunCommand acCmdAppMaximize
    Call CompactarBD
    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]Compactar e reparar no evento On Timer do formulario Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Compactar e reparar no evento On Timer do formulario Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Compactar e reparar no evento On Timer do formulario Folder_announce_new Instruções SQL como utilizar...
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Compactar e reparar no evento On Timer do formulario Empty Re: [Resolvido]Compactar e reparar no evento On Timer do formulario

    Mensagem  JPaulo 28/11/2012, 15:35

    Uma outra maneira, mas externa ao Banco é por VBS (VB Script).

    Em tempos ajudei aqui um usuário a realizar essa tarefa;

    O VBS está feito, é só você com o botão direito do mouse em cima dele e Editar para lhe mudar o caminho do banco.

    Use-o no seu agendedor de tarefas do Windows, para todos os dias à hora que pretender ele correr e compactar/abrir o seu banco.

    Anexos
    [Resolvido]Compactar e reparar no evento On Timer do formulario AttachmentCompacta_e_abre_accdb.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (1 Kb) Baixado 57 vez(es)


    .................................................................................
    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]Compactar e reparar no evento On Timer do formulario Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Compactar e reparar no evento On Timer do formulario Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Compactar e reparar no evento On Timer do formulario Folder_announce_new Instruções SQL como utilizar...
    avatar
    Daniel Meireles
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 88
    Registrado : 16/05/2012

    [Resolvido]Compactar e reparar no evento On Timer do formulario Empty Re: [Resolvido]Compactar e reparar no evento On Timer do formulario

    Mensagem  Daniel Meireles 28/11/2012, 23:46

    O código anterior do Call CompactarBD somente fecha o formulário, não compacta e repara o Access, porém você me deu uma ideia quando mencionou o agendador de tarefas do windows, então pedi para a TI da empresa me ensinar a criar uma rotina de ligar o computador e abrir o access numa hora pretendida com o agendador, com o access aberto e sem estar em Logoff utilizei o código que você me passou que é este que está aqui embaixo,aí deu certo, não sei se é a melhor forma mas cheguei no resultado, isso é que importa.

    uma ideia puxa a outra não é mesmo?

    muito obrigado pela ajuda Jpaulo, sou muito grato a vocês.


    Private Sub Form_Timer()
    Me.Label1.Caption = Format(Now, "hh🇲🇲ss")
    If Me.Label1.Caption = "07:00:00" Then

    Access.RunCommand acCmdAppMaximize

    SendKeys "%(FMC)", False

    End If
    End Sub


    Grande abraço.
    cheers

    Conteúdo patrocinado


    [Resolvido]Compactar e reparar no evento On Timer do formulario Empty Re: [Resolvido]Compactar e reparar no evento On Timer do formulario

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/11/2024, 01:12