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]Fechar Dropbox ao abrir o Access

    Maicon
    Maicon
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 267
    Registrado : 08/09/2012

    [Resolvido]Fechar Dropbox ao abrir o Access Empty [Resolvido]Fechar Dropbox ao abrir o Access

    Mensagem  Maicon 8/9/2012, 01:08

    study Boa Noite

    Feras preciso realmente de ajuda; já sou visitante deste fórum há muito tempo, e este é meu primeiro post . Minha dúvida é a seuinte já utilizo o dropbox como backup há algum tempo e tudo beleza porém queo deixar a aplicação direto dentro da pasta dropbox , porém quando o aplicativo está fechando o dropbox começa o upload antes do mesmo ser fechado "uso compactar ao fechar a aplicação" , então tive a idéia de criar um código no evento ao abrir que feche o dropbox ou pause o serviço de atualização e um ao sair que abra a aplicação ou recomece a atualização.


    Grato lol!
    Maicon Fernandes
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Fechar Dropbox ao abrir o Access Empty Re: [Resolvido]Fechar Dropbox ao abrir o Access

    Mensagem  criquio 8/9/2012, 01:52

    Olá, seja bem vindo ao fórum. Creio que não entendi muito bem. Explique melhor como está fazendo essas atualizações, porque está usando o dropbox e como o está usando. Tem algum código que faz essa atualização? Poste os códigos envolvidos, se houver.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    Maicon
    Maicon
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 267
    Registrado : 08/09/2012

    [Resolvido]Fechar Dropbox ao abrir o Access Empty Atualização

    Mensagem  Maicon 9/9/2012, 01:42

    Não há código envolvido ainda , quero usar o dropbox somente como backup do meu banco , sou o único que mexe nele e caso haja nescessidade usaria o terminal server do windows. O dropbox no meu caso específico é só para ter uma cópia na nuvem . Só que em meus testes notei que meu backend se corrompe após fechar o banco de dados, talvez seja porque eu uso o compactar e reparar e o banco de dados , creio que o dropbox comece a fazer o upload antes do processo de compactação seja concluido , para evitar qualquer problema pensei em criar código para fechar , travar o upload até que o banco seja fechado já que o volume de dados não é muito grande não há necessidade de que o sistema seja 100% online é uma forma de automatizar o meu backup e ter sempre uma cópia em outro pc fora da rede para consulta, caso eu queria trabalhar com o pc eu usaria outros meios como rdp.

    Grato
    Maicon Fernandes



    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Fechar Dropbox ao abrir o Access Empty Re: [Resolvido]Fechar Dropbox ao abrir o Access

    Mensagem  criquio 9/9/2012, 02:24

    Deixa ver se entendi. Você tem o aplicativo local e vez ou outra quer deixar uma cópia dele no dropbox. Bem, como o dropbox tem a pasta sincronizada no pc, você pode Utilizar uma outra aplicação externa para fazer o trabalho de copiar o aplicativo principal para o dropbox. Esse aplicativo externo poderia fazer o Compactar/Reparar antes e, depois, copiar para o dropbox. No caso, ao clicar no botão Compactar nesse principal, fecharia ele e abriria o outro que faria o trabalho. Pode ser um mdb/accdb ou um vbs.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Fechar Dropbox ao abrir o Access Empty Re: [Resolvido]Fechar Dropbox ao abrir o Access

    Mensagem  Alexandre Neves 9/9/2012, 08:00

    Bom dia,
    Ou colocar código no fecho do Access para criar cópia de segurança, fora do dropbox, e copiar esta cópia para a pasta do dropbox


    .................................................................................
    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
    Maicon
    Maicon
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 267
    Registrado : 08/09/2012

    [Resolvido]Fechar Dropbox ao abrir o Access Empty Agora Vai

    Mensagem  Maicon 10/9/2012, 10:43

    Acho que já estou quase chegando lá usei estes códigos :

    Shell Environ("Comspec") & " /C taskkill /IM Dropbox.exe" 'para fechar Dropbox'

    tirei do site abaixo
    http://comunidade.itlab.com.br/eve/forums/a/tpc/f/273606921/m/7307010143
    e funciona joinha .

    Depois uso o código :
    Call Shell ("C:\Users\Usuario\AppData\Roaming\Dropbox\bin\Dropbox.exe")'para Abrir'
    e também funciona

    Só estou tendo dificuldade usar os dois códigos juntos mas acho que o erro está no primeiro já que depois da execução do primeiro não consigo abrir o dropbox nem clicando no executável só depois de reiniciar. claro que já resolveria meu pricipal problema que seria não atualizar o dropbox enquanto estivesse usando o access mas vou ter que descobrir uma forma de via código porque manualmente a chance de esquecer de ativar dropbox é grande . A idéia do Alexandre não tinha me ocorrido e realmente parece ser uma outra alternativa "confesso que não sei como executá-la " , para deixar bem claro meu vba limita-se If;else end if mas com certeza a sugestão do Alexandre é bem simples e vou também estudar esta possibilidade que também resolve.
    Observação : O banco backend está na pasta dropbox e minha intenção é parar a sincronição quando ele estiver em uso .



    Última edição por Maicon em 12/9/2012, 16:36, editado 1 vez(es)
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Fechar Dropbox ao abrir o Access Empty Re: [Resolvido]Fechar Dropbox ao abrir o Access

    Mensagem  JPaulo 10/9/2012, 12:07

    'Encerrar processo
    Public Sub MatarProcesso()
    Shell "TaskKill /F /IM ""Dropbox.exe"""
    End Sub


    Ou

    Public Sub MatarProcesso()
    MatarProcesso = "TaskKill /F /IM Dropbox.exe"
    Call Shell(MatarProcesso, vbHide)
    End Sub



    'Iniciar processo
    Public Sub AbrirProcesso()
    Shell ("C:\Programas\Dropbox.exe")
    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]Fechar Dropbox ao abrir o Access Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Fechar Dropbox ao abrir o Access Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Fechar Dropbox ao abrir o Access Folder_announce_new Instruções SQL como utilizar...
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Fechar Dropbox ao abrir o Access Empty Re: [Resolvido]Fechar Dropbox ao abrir o Access

    Mensagem  Alexandre Neves 10/9/2012, 12:49

    Boa tarde,

    Para fazer cópia de segurança
    Código:
    Option Compare Database
    Option Explicit

    'Copy a database
    '
    'Author (s)
    'Dev Ashish
    '
    '
    '    Here 's an API based method to make a backup of the current database.  Please note that this function does not work on Exclusively opened database.
    '
    '    The backup is created with a "Copy of (?)" prefix to the database name in the same directory as the original  database itself.
    '
    '********** Code Start *************
    ' This code was originally written by Dev Ashish.
    ' It is not to be altered or distributed,
    ' except as part of an application.
    ' You are free to use it in any application,
    ' provided the copyright notice is left unchanged.
    '
    ' Code Courtesy of
    ' Dev Ashish
    '
    Private Type SHFILEOPSTRUCT
        hWnd As Long
        wFunc As Long
        pFrom As String
        pTo As String
        fFlags As Integer
        fAnyOperationsAborted As Boolean
        hNameMappings As Long
        lpszProgressTitle As String
    End Type

    Private Const FO_MOVE As Long = &H1
    Private Const FO_COPY As Long = &H2
    Private Const FO_DELETE As Long = &H3
    Private Const FO_RENAME As Long = &H4

    Private Const FOF_MULTIDESTFILES As Long = &H1
    Private Const FOF_CONFIRMMOUSE As Long = &H2
    Private Const FOF_SILENT As Long = &H4
    Private Const FOF_RENAMEONCOLLISION As Long = &H8
    Private Const FOF_NOCONFIRMATION As Long = &H10
    Private Const FOF_WANTMAPPINGHANDLE As Long = &H20
    Private Const FOF_CREATEPROGRESSDLG As Long = &H0
    Private Const FOF_ALLOWUNDO As Long = &H40
    Private Const FOF_FILESONLY As Long = &H80
    Private Const FOF_SIMPLEPROGRESS As Long = &H100
    Private Const FOF_NOCONFIRMMKDIR As Long = &H200

    Private Declare Function apiSHFileOperation Lib "SHELL32.DLL" _
                Alias "SHFileOperationA" _
                (lpFileOp As SHFILEOPSTRUCT) _
                As Long

    Function fMakeBackup() As Boolean
    Dim strMsg As String
    Dim tshFileOp As SHFILEOPSTRUCT
    Dim lngRet As Long
    Dim strSaveFile As String
    Dim lngFlags As Long
    Const cERR_USER_CANCEL = vbObjectError + 1
    Const cERR_DB_EXCLUSIVE = vbObjectError + 2
        On Local Error GoTo fMakeBackup_Err

        If fDBExclusive = True Then err.Raise cERR_DB_EXCLUSIVE
       
        'strMsg = "Are you sure that you want to make a copy of the database?"
        strMsg = "Tem certeza que quer fazer uma cópia do banco de dados?"
        If MsgBox(strMsg, vbQuestion + vbYesNo, "Please confirm") = vbNo Then _
                err.Raise cERR_USER_CANCEL
               
        lngFlags = FOF_SIMPLEPROGRESS Or _
                                FOF_FILESONLY Or _
                                FOF_RENAMEONCOLLISION
        strSaveFile = CurrentDb.Name
        'strSaveFile = NomeDaPasta & "\" & NomeFicheiro(CurrentDb.Name)
        With tshFileOp
            .wFunc = FO_COPY
            .hWnd = hWndAccessApp
            .pFrom = CurrentDb.Name & vbNullChar
            .pTo = strSaveFile & vbNullChar
            .fFlags = lngFlags
        End With
        lngRet = apiSHFileOperation(tshFileOp)
        fMakeBackup = (lngRet = 0)
       
    fMakeBackup_End:
        Exit Function
    fMakeBackup_Err:
        fMakeBackup = False
        Select Case err.Number
            Case cERR_USER_CANCEL:
                'do nothing
            Case cERR_DB_EXCLUSIVE:
                MsgBox "The current database " & vbCrLf & CurrentDb.Name & vbCrLf & _
                        vbCrLf & "is opened exclusively.  Please reopen in shared mode" & _
                        " and try again.", vbCritical + vbOKOnly, "Database copy failed"
            Case Else:
                strMsg = "Error Information..." & vbCrLf & vbCrLf
                strMsg = strMsg & "Function: fMakeBackup" & vbCrLf
                strMsg = strMsg & "Description: " & err.Description & vbCrLf
                strMsg = strMsg & "Error #: " & Format$(err.Number) & vbCrLf
                MsgBox strMsg, vbInformation, "fMakeBackup"
        End Select
        Resume fMakeBackup_End
    End Function

    Private Function fCurrentDBDir() As String
    'code courtesy of
    'Terry Kreft
    Dim strDBPath As String
    Dim strDBFile As String
        strDBPath = CurrentDb.Name
        strDBFile = Dir(strDBPath)
        fCurrentDBDir = Left(strDBPath, InStr(strDBPath, strDBFile) - 1)
    End Function

    Function fDBExclusive() As Integer
    Dim db As Database
    Dim hFile As Integer
        hFile = FreeFile
        Set db = CurrentDb
        On Error Resume Next
        Open db.Name For Binary Access Read Write Shared As hFile
        Select Case err
            Case 0
                fDBExclusive = False
            Case 70
                fDBExclusive = True
            Case Else
                fDBExclusive = err
        End Select
        Close hFile
        On Error GoTo 0
    End Function
    '************* Code End ***************
    para copiar ficheiro
    Código:
    Function CopiaFicheiro(PastaOrigem As String, NomeFicheiro As String, PastaDestino As String, NovoNomeFicheiro As String) As Boolean
        'adaptado por Alexandre Neves www.esnips.com\web\alexandreneves
        On Error GoTo MostraErro
        Dim FSO As FileSystemObject
        Dim F As file
       
        Set FSO = New FileSystemObject
       
        'verifica se existe *
        If InStr(1, NomeFicheiro, "*") > 0 Then
            NomeFicheiro = DevolveEnderecoCompleto(NomeFicheiro)
        End If
        If Right(PastaOrigem, 1) <> "\" Then PastaOrigem = PastaOrigem & "\"
        If Right(PastaDestino, 1) <> "\" Then PastaDestino = PastaDestino & "\"
       
        If NovoNomeFicheiro = NomeFicheiro Then
            Set F = FSO.GetFile(PastaOrigem & NomeFicheiro)
            FSO.CopyFile F, PastaDestino, True
        Else
            Set F = FSO.GetFile(PastaOrigem & NomeFicheiro)
            FSO.CopyFile F, PastaDestino & NovoNomeFicheiro, True
        End If
       
        Set FSO = Nothing
        CopiaFicheiro = True
    Sair:
        Date = DataActual
        Exit Function
    MostraErro:
        If err.Number = 53 Then
            MsgBox "O ficheiro " & PastaOrigem & NomeFicheiro & " não existe."
        ElseIf err.Number = 58 Then
            MsgBox "O ficheiro  " & PastaDestino & NomeFicheiro & " já existe."
        ElseIf err.Number = 76 Then
            MsgBox "Caminho não encontrado:" & vbCr & PastaDestino
        Else
            MsgBox err.Number & vbCr & err.Description, , "Ficheiro não copiado"
        End If
        GoTo Sair
    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
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Fechar Dropbox ao abrir o Access Empty Re: [Resolvido]Fechar Dropbox ao abrir o Access

    Mensagem  Alexandre Neves 10/9/2012, 12:51

    Mestre JPaulo,
    Só agora vi a sua mensagem, pois já tinha a janela aberta a preparar resposta mas estive a tratar de outros assuntos pelo meio.
    Grande Abraço,


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


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Fechar Dropbox ao abrir o Access Empty Re: [Resolvido]Fechar Dropbox ao abrir o Access

    Mensagem  JPaulo 10/9/2012, 15:35

    Sem problema algum.


    .................................................................................
    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]Fechar Dropbox ao abrir o Access Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Fechar Dropbox ao abrir o Access Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Fechar Dropbox ao abrir o Access Folder_announce_new Instruções SQL como utilizar...
    Maicon
    Maicon
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 267
    Registrado : 08/09/2012

    [Resolvido]Fechar Dropbox ao abrir o Access Empty Encerramento Tópico

    Mensagem  Maicon 10/9/2012, 18:27

    Amigos

    Está claro que o problema proposto tem solução , estou indo pelo caminho do que
    o mestre jpaulo mostrou , mas com certeza o exemplo do amigo Alexandre Neves é valido e com certeza vou excuta-lo também .
    Agora meu caso é study study
    Caso moderador queira considero o problema resolvido.


    Muito Obrigado á todos
    Maicon Fernandes
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Fechar Dropbox ao abrir o Access Empty Re: [Resolvido]Fechar Dropbox ao abrir o Access

    Mensagem  Alexandre Neves 10/9/2012, 18:29

    Olá, Maicon
    Agradecemos o retorno
    Para marcar "Resolvido"
    [Resolvido]Fechar Dropbox ao abrir o Access MaximoAccess%20ResolvidoMarcado
    Agora, marquei eu


    .................................................................................
    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
    Maicon
    Maicon
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 267
    Registrado : 08/09/2012

    [Resolvido]Fechar Dropbox ao abrir o Access Empty Compartilhando a Solução

    Mensagem  Maicon 12/9/2012, 16:33

    Desculpe retomar mas só para comapartilhar a solução com todos :

    usei o código do mestre Jpaulo combinado com o código que eu já havia garimpado na internet o primeiro fecha o ícone do dropbox na barra de tarefas , o 2º mata literalmente o processo de atualização que é o realmente interessa , quanto a abrir o dropbox para evitar problemas não vou usar o evento no access e sim agendei uma tarefa para abrir o programa 1 vez ao dia, Assim todo dia vou ter uma cópia do meu backend no dropbox , tendo também um histórico das atualizações no site .

    Matar DropBox

    Shell Environ("Comspec") & " /C taskkill /IM Dropbox.exe"
    Shell "TaskKill /F /IM ""Dropbox.exe"""

    Abrir DropBox

    Call Shell("C:\Users\Usuario\AppData\Roaming\Dropbox\bin\Dropbox.exe", 1)

    Maicon Fernandes


    Conteúdo patrocinado


    [Resolvido]Fechar Dropbox ao abrir o Access Empty Re: [Resolvido]Fechar Dropbox ao abrir o Access

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 26/4/2024, 21:51