Avatar billede -anders- Juniormester
18. november 2003 - 19:42 Der er 26 kommentarer og
1 løsning

Kopier fil til diskette via VBA

Hej eksperter

Jeg en form, på denne form er det et felt der hedder "Filnavn", i dette felt kan der stå en sti til en fil på harddisken feks C:\Midifiler\ER\0305.mid. Øvelsen går ud på at få en funktion til at kopier filen der svare til det der står i feltet "Filnavn" til A:\. Filerne kan sagtens ligger forskellige steder på hardisken. Jeg har skrevet nedenstående funktion, men den melder "Path not fund", den forsøger godt nok at skrive på A:\, men fejler altså på stien til filen.Som det fremgår af spørgsmålet er indholdet af feltet "Filnavn" dynamisk. Nogen der har et forslag.

Funktion:
Dim SourceFile As String

Dim DestinationFile As String

SourceFile = Form_fmOversigt.Filnavn

DestinationFile = "A:\"

FileCopy SourceFile, DestinationFile

Venter spændt.

Mange hilsner Anders
Avatar billede -anders- Juniormester
18. november 2003 - 19:44 #1
Glemte lige at nævne: køre access 2002
Avatar billede mugs Novice
18. november 2003 - 20:34 #2
Copies a file.
Hentet fra hjælpen:


Syntax
FileCopy source, destination
The FileCopy statement syntax has these named arguments:
Part Description
source Required. String expression that specifies the name of the file to be copied. The source may include directory or folder, and drive.
destination Required. String expression that specifies the target file name. The destination may include directory or folder, and drive.
Remarks
If you try to use the FileCopy statement on a currently open file, an error occurs.
Avatar billede -anders- Juniormester
18. november 2003 - 20:39 #3
Hej Mugs, tak for indlægget.
Jeg har læst ovenstående fra hjælpen. og hvis jeg hardkoder en bestemt mappe og fil virker det også, mit problem er at stien til de forskellige filer er dynamiske, derfor forsøger jeg at få funktionen til at opfatte feltet "Filnavn" som stien til filen, og det er her det fejler selvom der i feltet "Filnavn" står hele stien incl, det fysike filnavn.
Avatar billede mugs Novice
18. november 2003 - 20:41 #4
Denne fungerer, når jeg kopierer fra en anden db end den der skal kopieres. Tekst0 er en ubunden tekstboks på formularen:

Dim SourceFile As String, Destinationfile, a
a = Me.Tekst0
SourceFile = Me.Tekst0
Destinationfile = "C:\Documents and Settings\Mogens Storgaard\Skrivebord\test\ny.mdb"
FileCopy SourceFile, Destinationfile
Avatar billede -anders- Juniormester
18. november 2003 - 20:42 #5
Okay, jeg tester det lige af og vender tilbage om 5 minutter
Avatar billede -anders- Juniormester
18. november 2003 - 20:46 #6
Denne fejler også med Path not found, jeg stirre mig blind på den *SS*

Dim SourceFile As String, Destinationfile, a
a = Form_fmOversigt.Filnavn
SourceFile = Form_fmOversigt.Filnavn
Destinationfile = "A:\"
FileCopy SourceFile, Destinationfile
Avatar billede mugs Novice
18. november 2003 - 20:50 #7
Hvid u vil referere til en objekstsamling skal flg rettes:
a = Form_fmOversigt.Filnavn
til
a = [Forms![fmOversigt]![Filnavn]
eller også brug det reserberede ord Me.Filnavn

Destinationfile skal indeholde hele stien incl. det nye filnavn.
Avatar billede mugs Novice
18. november 2003 - 20:50 #8
Rettelse:
a = [Forms![fmOversigt]![Filnavn]
skal være:
a = [Forms]![fmOversigt]![Filnavn]
Avatar billede -anders- Juniormester
18. november 2003 - 20:53 #9
Okay
Men jeg forsøger jo at kopier en fil fra hardisk til diskette hvor filnavnet er det der står i feltet "Filnavn" dvs. filen jeg kopier findes jo i forvejen, kunne du prøve at skrive koden *SS*
Avatar billede mugs Novice
18. november 2003 - 20:57 #10
Bemærk at min Tekst0 (= variablen a) er SourceFile, altså den fil der skal kopieres. Måske er det der vi går galt i byen.
Hele koden fremgår af min kommentar 20:41
Avatar billede -anders- Juniormester
18. november 2003 - 20:58 #11
Okay, prøver lige igen tilbage om lidt
Avatar billede -anders- Juniormester
18. november 2003 - 21:08 #12
Nu har jeg prøvet med nedenstående, men den fejler stadig på "Path not found", men jeg kan høre at den skrive på disketten før fejlen popper op.

Dim SourceFile As String, Destinationfile, a

a = [Forms]![fmOversigt]![Filnavn]

SourceFile = [Forms]![fmOversigt]![Filnavn]

Destinationfile = "A:\"

FileCopy SourceFile, Destinationfile
Avatar billede mugs Novice
18. november 2003 - 21:13 #13
Hvis jeg ikke skriver den fulde sti til til Destinationfile får jeg en fejl. Stien skal indeholde ikke alene drevet men også FILNAVNET på den endnu ikke oprettede fil.
Avatar billede -anders- Juniormester
18. november 2003 - 21:17 #14
Okay det forstår jeg, men stien har jeg jo allerede i feltet "Filnavn" på min form, det må være her det går galt, har du mod på at forsætte, løsningen haster bestemt ikke
Avatar billede mugs Novice
18. november 2003 - 21:19 #15
indeholder feltet "Filnavn" navnet på den fil der skal kopieres, eller den nye fil. Se min kommentar Kl 20:57
Avatar billede -anders- Juniormester
18. november 2003 - 21:22 #16
Feltet "Filnavn" indeholder navnet på den fil der skal kopieres, incl hele stien til filen feks. C:\Midifiler\Er\test.mid
Avatar billede mugs Novice
18. november 2003 - 21:26 #17
Hvis du lægger din e-mail kan jeg sende dig mine filer.
Avatar billede -anders- Juniormester
18. november 2003 - 21:29 #18
Okay

anj@bryggemail.dk
Avatar billede -anders- Juniormester
18. november 2003 - 21:32 #19
Foresten min outlook acc. ikke .mdb eller zip, kunne du ombøbe filerne til bla bla
Avatar billede mugs Novice
18. november 2003 - 21:41 #20
Sendt - Men du har måske fået det til at fungere, siden du har accepteret mit svar?
Avatar billede -anders- Juniormester
18. november 2003 - 21:46 #21
Hej Mugs, jeg har nu modtaget din mail, men desværre blokere outlook dem, sorrey min fejl, hvis du vil have ulejligheden må du gerne sende dem til anj@nationalbanken.dk i stedet for så kikker jeg på det i morgen når jeg møder på arbejde (08:00), forresten har du fået points, jeg kom til at klikke på accpter i stedet for kommentar, never mind har du fået dem er de velfortjent.

Jeg lægger et indlæg her i spørgsmålet i morgen når jeg har testet

Forløbig , mange tak for hjælpen

/Anders
Avatar billede mugs Novice
18. november 2003 - 21:49 #22
Sendt igen som .txt
Avatar billede -anders- Juniormester
19. november 2003 - 08:28 #23
Godmorgen
Tak for filerne, det virker jo meget godt, men din Destinationfile er jo skrevet direkte, men Destinationfilestien og filnavn er dynamiske. Den første Variable SourceFile virker, det er det der står i feltet "Filnavn", problemet er variablen Destinationfile, altså den fil der skal kopieres til diskette. Jeg kender jo allerede navnet på den fil jeg skal kopier til diskette, dette fremgår af feltet "Filnavn", håbder det e klar tale. *SS*, derfor kan jeg ikke bruge koden.

Mange hilsner Anders.
Avatar billede mugs Novice
19. november 2003 - 09:27 #24
Det kan jeg ikke se er noget problem. Ser på det når jeg er hjemme fra arbejde.
Avatar billede -anders- Juniormester
19. november 2003 - 09:33 #25
Okay, vi høres bare ved
Avatar billede -anders- Juniormester
19. november 2003 - 22:59 #26
Hej, noget nyt *SSS*
Avatar billede mugs Novice
20. november 2003 - 05:43 #27
Nej - Jeg nåede ikke lige iaftes jeg havde regnet med. Men kna du uddybel dette:

problemet er variablen Destinationfile, altså den fil der skal kopieres til diskette. Jeg kender jo allerede navnet på den fil jeg skal kopier til diskette

Det er ike lige klart.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester