Bestand kopieren via SaveFileDialog

Status
Niet open voor verdere reacties.

Twanno5483

Gebruiker
Lid geworden
1 mrt 2009
Berichten
74
Ik ben een beetje aan het stoeien met visual basic en heb een programmaatje gemaakt met een access database als dataset. Nu zou ik graag deze mdb file willen exporteren (als een soort van backup). Ik heb een SaveFileDialog aangemaakt met een initial directory en zo, maar nu krijg ik steeds dat een melding dat hij de bronbestand niet kan vinden.
Waar zit mijn fout?

Code:
 Dim SaveFileDialog As New SaveFileDialog
        Dim file As String
        file = "Busvooraad.mdb"

        SaveFileDialog.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyDocuments
        SaveFileDialog.Filter = "Busvooraad.mdb|Busvooraad.mdb"
        SaveFileDialog.FileName = "Busvooraad.mdb"



        If (SaveFileDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK) Then
            Dim FileName As String = SaveFileDialog.FileName
            FileCopy(file, FileName)

        End If

    End Sub
 
probeer eens met
Code:
'moet wel imports system.IO hebben

System.IO.File.Copy

'of met

file.copy

en waar is de locatie van .mdb?
als deze onder de zelfde folder staat als je programma .exe
dan zou je
Code:
file = Application.StartupPath("Busvooraad.mdb")

Dummy1912
 
Laatst bewerkt:
die System.IO.File.Copy waar moet deze komen te staan?

PS. Ben nog een beginner.

thx
Twanno
 
hoi,

geen probleem :)
hoop dat het lukt

Code:
If (SaveFileDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK) Then
            Dim FileName As String = SaveFileDialog.FileName
           system.IO.File.Copy(file, FileName)

        End If

dummy1912
 
Laatst bewerkt:
Ik krijg nu de melding van "De conversie van tekenreeks busvooraad.mdb naar type integer is ongeldig.

Het is misschien handig om te vermelden dat ik gebruik maar van Visual Studio 2010 express.

Dit is nu de gehele code.

Code:
 Dim File As String
        File = Application.StartupPath("Busvooraad.mdb")

        SaveFileDialog1.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyDocuments
        SaveFileDialog1.Filter = "Busvooraad.mdb|Busvooraad.mdb"
        SaveFileDialog1.FileName = "Busvooraad.mdb"

        If (SaveFileDialog1.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK) Then
            Dim FileName As String = SaveFileDialog1.FileName
           System.IO. File.Copy(File, FileName)

        End If

    End Sub
 
Hoi,

ik weet het niet zeker
maar zou normaal geen problemen mogen geven met vb2010

anders moet je file.copy proberen
of de application.StartupPath("\Busvooraad.mdb")

dummy1912
 
Moet:

Code:
Application.StartupPath("\Busvooraad.mdb")

niet:

Application.StartupPath & "\Busvooraad.mdb"

zijn?
 
Ik ben een beetje aan het stoeien met visual basic en heb een programmaatje gemaakt met een access database als dataset. Nu zou ik graag deze mdb file willen exporteren (als een soort van backup). Ik heb een SaveFileDialog aangemaakt met een initial directory en zo, maar nu krijg ik steeds dat een melding dat hij de bronbestand niet kan vinden.
Waar zit mijn fout?

Code:
 Dim SaveFileDialog As New SaveFileDialog
        Dim file As String
        file = "Busvooraad.mdb"

        SaveFileDialog.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyDocuments
        SaveFileDialog.Filter = "Busvooraad.mdb|Busvooraad.mdb"
        SaveFileDialog.FileName = "Busvooraad.mdb"



        If (SaveFileDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK) Then
            Dim FileName As String = SaveFileDialog.FileName
            FileCopy(file, FileName)

        End If

    End Sub

Je kunt boven code beperken tot:

System.IO.File.Copy(Application.StartupPath & "Busvooraad.mdb", My.Computer.FileSystem.SpecialDirectories.MyDocuments & "Busvooraad.mdb")

mvg Willy...
 
System.IO.File.Copy(Application.StartupPath & "Busvooraad.mdb", My.Computer.FileSystem.SpecialDirectories.MyDocuments & "Busvooraad.mdb")

Zonder backslashes om het bestand te scheiden van de laatste directory gaat natuurlijk nooit werken. Dit zou het resultaat zijn:

C:\Users\GebruikersnaamBusvoorraad.mdb (dit geldt ook voor het StartUpPath directory)

Dat gaat natuurlijk never nooit niet werken en je zal dus een FileNotFound exception krijgen. Dit is de juiste code:

Code:
System.IO.File.Copy(Application.StartupPath & "\Busvooraad.mdb", My.Computer.FileSystem.SpecialDirectories.MyDocuments & "\Busvooraad.mdb")
 
Zonder backslashes om het bestand te scheiden van de laatste directory gaat natuurlijk nooit werken. Dit zou het resultaat zijn:

C:\Users\GebruikersnaamBusvoorraad.mdb (dit geldt ook voor het StartUpPath directory)

Dat gaat natuurlijk never nooit niet werken en je zal dus een FileNotFound exception krijgen. Dit is de juiste code:

Code:
System.IO.File.Copy(Application.StartupPath & "\Busvooraad.mdb", My.Computer.FileSystem.SpecialDirectories.MyDocuments & "\Busvooraad.mdb")

Ik was er idd al achter gekomen dat die "/" nodig was. Maar toch van harte bedankt.

Hartelijk bedankt aan iedereen die me hiermee heeft geholpen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan