Avatar billede dla Praktikant
01. december 2004 - 14:13 Der er 9 kommentarer og
1 løsning

Formularknap der kopierer en fil fra en angivet sti

Jeg har en database med 2 billeder på hver post, Billede1 og Billede2. Stien til billederne står i Sti1 og Sti2. Jeg har en Browse-knap og en Åbn-knap til hvert billede. Jeg har brugt Thomas Jepsens eksempel Åbn Fil-dialogboks http://www.makeiteasy.dk/eksempler/Downloads.htm som udgangspunkt.

Nu er mit spørgsmål: hvordan laver jeg en Kopier-knap til hvert billede? Den skal kopiere filen der er angivet i Sti1 (Sti2) til udklipsholderen, så derfor kan jeg vel ikke bruge FileCopy?

Næste spørgsmål: når man trykker på Browse1-knappen vil jeg gerne have at den åbner fil-browseren i den sti der er angivet i Sti1 og selvfølgelig tilsvarende på Browse2-knappen, i stedet for som nu at åbne der hvor man sidst åbnede. Kan det lade sig gøre?
01. december 2004 - 14:16 #1
Jeg ved ikke helt med at kopiere stien til udklipsholderen....

Men du kan angive stien til OpenFile-dialogboksen med denne kommando:

dlg.InitDir = Me!Sti1
01. december 2004 - 14:19 #2
mht at kopiere stien, så burde du kunne bruge denne:

Me!Sti1.Setfocus
docmd.RunCommand acCmdCopy
Avatar billede dla Praktikant
01. december 2004 - 14:27 #3
Denne virker: dlg.InitDir = Me!Sti1, så det er bare perfekt, tak for det, men kopier-kommandoen kopierer kun navnet på stien og ikke filen. Kan du finde på noget andet?
01. december 2004 - 14:29 #4
nej, desværre ikke :o(

Har du ikke mulighed for at lade brugeren angive destination på anden måde og så bruge filecopy?
Avatar billede dla Praktikant
01. december 2004 - 14:37 #5
Jo hvis jeg kunne bruge FileCopy Me.Sti1 og så fortælle at browseren derefter skulle åbnes, men hvordan gør jeg lige det??
01. december 2004 - 14:41 #6
Du gør det omvendt:

lav en variabel Destination og angiv denne først vha browseren:

Dim Destination as sting

dlg.filter = "Alle filer" & vbNullChar & "*.*" & vbNullChar & "Alle filer" & vbNullChar & "*.*" & vbNullChar
    dlg.DialogTitle = "Angiv ny placering..."    dlg.InitDir = Mid(db.TableDefs(GetLinkedTable).Connect, 11)
    dlg.Showsave
Destination = dlg.Filename
If len(Destination)>0 then
    filecopy Me!Sti1, Destination
endif
Avatar billede dla Praktikant
01. december 2004 - 14:56 #7
Hvor skal jeg skrive koden? Jeg skrev den under Kopier-knappen, men den siger Variable not defined til GetLinkedTable  ???
01. december 2004 - 14:59 #8
Sorry....jeg tog lige koden fra et andet eksempel og fik ikke fjernet det linie. Brug denne i stedet:

Dim Destination as sting

dlg.filter = "Alle filer" & vbNullChar & "*.*" & vbNullChar & "Alle filer" & vbNullChar & "*.*" & vbNullChar
    dlg.DialogTitle = "Angiv ny placering..."   
    dlg.Showsave
Destination = dlg.Filename
If len(Destination)>0 then
    filecopy Me!Sti1, Destination
endif

Ja, du lægger den bare på kopier-knappen.
Avatar billede dla Praktikant
01. december 2004 - 15:09 #9
Yes, nu virker det! 1 million tak!

Dorit
01. december 2004 - 15:10 #10
Perfekt!

Og selv tak :o)
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