none
Como criar um Back Up de um Banco de Dados Access pelo VBA Excel RRS feed

  • Pergunta

  • Olá amigos.

    Estou com um projeto onde criarei um programa totalmente com formulários pelo VBA (Excel). Já pesquisei sobre, mas não encontrei nada que me auxilie. Por isso, preciso de ajuda de vocês.

    Uma das rotinas que precisarei criar será um botão que ao ser cliclado salva um back up do banco de dados "banco_de_dados.mdb" (que será o que estará atrelado ao programa). Aqui que entra minha dificuldade. Este back up deverá ser realizado para um pen drive diariamente (ao final do expediente).

    É possível apontar o arquivo e onde ele deve ser salvo (por exemplo: "FileDialog(msoFileDialogFilePicker)")?

    Muito obrigado!

    quarta-feira, 10 de julho de 2013 21:26

Respostas

  • Estou assumindo que o caminho em que salva o arquivo é sempre o mesmo, então por que não usar uma rotina como a mostrada abaixo?

    Sub fncSaveBackup()
      Dim strFilename As String
      
      strFilename = ThisWorkbook.Name & "_backup_" & VBA.Format(VBA.Date, "yyyy_MM_dd")
      ThisWorkbook.SaveCopyAs "g:\caminho_do_pendrive\backups\" & strFilename
    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    segunda-feira, 25 de novembro de 2013 22:34
    Moderador

Todas as Respostas

  • try


                {

    if(saveFileDialog.ShowDialog() == DialogResult.OK)

                    {

                       

    if(System.IO.File.Exists(saveFileDialog.FileName))

                        {

    System.IO.

    File.Delete(saveFileDialog.FileName);

                        }

                        System.IO.

    File.Copy(Application.StartupPath.ToString() + "\\banco_de_dados.mdb", saveFileDialog.FileName);

                       

    MessageBox.Show("Backup Realizado com Sucesso!!!", "", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    }

                   

    else


                    {

                       

    MessageBox.Show("Operação Cancelada", "", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    }

                }

               

    catch(Exceptionex)

                {

                   

    MessageBox.Show("Ocorreu um erro"+ ex.Message);

                }

    segunda-feira, 25 de novembro de 2013 14:03
  • Estou assumindo que o caminho em que salva o arquivo é sempre o mesmo, então por que não usar uma rotina como a mostrada abaixo?

    Sub fncSaveBackup()
      Dim strFilename As String
      
      strFilename = ThisWorkbook.Name & "_backup_" & VBA.Format(VBA.Date, "yyyy_MM_dd")
      ThisWorkbook.SaveCopyAs "g:\caminho_do_pendrive\backups\" & strFilename
    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    segunda-feira, 25 de novembro de 2013 22:34
    Moderador
  • Olá Felipe, desculpe a demora =)

    O código funcionou perfeitamente, porém, ele salva o própio arquivo onde está o código.

    O que preciso é salvar um banco de dados em Access (a parte da planilha) que está vinculado a esta planila (onde está o código).

    Tem aluma ideia?

    Muito obrigado,

    Leonardo Soares


    • Editado lsoasantos segunda-feira, 12 de maio de 2014 17:11
    segunda-feira, 12 de maio de 2014 17:09