Jump to content
Peter

Guardar BD para outra localização. (exportar)

Recommended Posts

Peter

Boa tarde amigos, eu acabei de fazer uma agenda telefonica, no entanto estou com dificuldades em encontrar uma forma que guarde a base de dados já existente chamada bd.mdb que está junto com o .EXE para outra localização. no fundo o utilizador poderia exportar a base de dados para depois importar noutra altura por uma razão qualquer.

eu fiz um savefiledialog, tudo bem, no entanto nao faço ideia como se escolhe o ficheiro que ele vai guardar, neste caso o bd.mdb que está junto com o .exe

tambem gostava de saber fazer o mesmo mas de forma inversa, abrir um openfiledialog que me faz overwrite ao ficheiro bd.mdb ja existente

Share this post


Link to post
Share on other sites
Caça

O que tens de fazer é copiar o ficheiro para o destino indicado.


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
Peter

caça até aí tudo bem, eu sei que tenho de copiar. o que eu gostava de saber é como "dizer" qual o ficheiro a ser copiado.

        With SaveFileDialog1
            .Filter = "MDB (*)|*.mdb"
            .ShowDialog()


        End With

o que eu sei até ao momento é fazer um openfiledialog e carregar uma imagem para uma picturebox, mas agora queria era agarrar num ficheiro que está na root do programa para o utilizador poder gravar noutro sitio do seu computador

no fundo o que eu quero é o oposto disto

http://www.portugal-a-programar.pt/index.php?showtopic=41697

pois nesse topico tá a importar, e eu quero exportar

Share this post


Link to post
Share on other sites
Andrepereira9

boas.

com este codigo abres uma janela para o utilizador escolher onde quer guardar o ficheiro, e qual o nome. Certo??

With SaveFileDialog1
    .Filter = "MDB (*)|*.mdb"
End With

Entã depois, metes

If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
     System.IO.File.Copy(Application.StartupPath + "\nomedabd.mdb", SaveFileDialog1.FileName.ToString)
End If

O Application.StartupPath, devolve-te a localização de onde o ficheiro está a ser executado. Como disseste que ele está no root do programa, é só acrescentares o nome da base de dados

Ou seja, fica assim:

With SaveFileDialog1
    .Filter = "MDB (*)|*.mdb"
End With

If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
     System.IO.File.Copy(Application.StartupPath + "\nomedabd.mdb", SaveFileDialog1.FileName.ToString)
End If


A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Share this post


Link to post
Share on other sites
Caça

Tens aqui o código para exportar e também para importar e substituir a BD actual

        'Exportar
        Dim SFD As New SaveFileDialog
        SFD.Filter = "Base de Dados Access|*.mdb"
        If SFD.ShowDialog = Windows.Forms.DialogResult.OK Then
            My.Computer.FileSystem.CopyFile(My.Application.Info.DirectoryPath & "\BD.mdb", SFD.FileName)
        End If

        'Importar
        Dim OFD As New OpenFileDialog
        OFD.Filter = "Base de Dados Access|*.mdb"
        If SFD.ShowDialog = Windows.Forms.DialogResult.OK Then
            My.Computer.FileSystem.CopyFile(OFD.FileName, My.Application.Info.DirectoryPath & "\BD.mdb", True)
        End If


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.