Vraag : MS-Access VBA Filecopy keert 70 terug - ontkende toestemming

Ik schrijf een functie dat van de Toepassing VBA van de Toegang de exemplarendossiers van één folder aan een andere die ik gebruikend het bureau filedialog heb geselecteerd op msoFileDialogFolderPickerwijze in dozen doen.  Ik probeer om het bevel van filesystemobjectFileCopy te gebruiken, maar krijg fout „70 - ontkende toestemming“, alhoewel ik volledige controletoestemmingen op het dossier en de omslag heb waaraan ik kopi�ër.  Mijn code is in bijlage.  
Here is de inhoud van mijn direct venster wanneer ik de functie uitvoer:

? installemtscomprpt
File testprog.txt om aan F:\PR09 - 023 te kopiëren er niet in - EMTS Adobe 9.0 het Manuscript \ NewFolder van de Installatie \ EMTSCompRpt.  De fout is 70 - ben de Toestemming denied.

Why I die krijgen deze foutenmelding?

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
Option vergelijkt Gegevensbestand
Expliciete optie

Openbare fs als FileSystemObject, strOrigDir als Koord, strDestDir als Koord

Overheidsfunctie InstallEMTSCompRpt () als Koord
    
    Reeks fs = Nieuwe FileSystemObject
    strOrigDir = CurrentProject.Path & „\“
    strDestDir = fFolderDialog
    fCopyFile Debug.Print („testprog.txt“)

De Functie van het eind
Overheidsfunctie fFolderDialog () als Koord

'Vereist verwijzing naar Microsoft Office 10.0 de Bibliotheek van Objecten.

   Schemerige fDialog als Office.FileDialog
   Schemerige varFile als Variant

   'Duidelijke listboxinhoud.
   'Me.FileList.RowSource = ""

   'Opstelling de Dialoog van het Dossier.
   Reeks fDialog = Application.FileDialog (msoFileDialogFolderPicker)
   Met fDialog
      'Sta gebruiker toe om slechts één Gegevensbestand te selecteren EMTSReports
      .AllowMultiSelect = Vals
            
      'Plaats de titel van het dialoogvakje.
      . De titel = „te selecteren gelieve het Gegevensbestand EMTSReports om voorwerpen“ te ontvangen

      'Haal de huidige filters leeg, en voeg ons toe.
      . Filters.Clear
      .InitialFileName = „de Toepassingen \ EMTS \ van de Toegang \ \ okc-svr01 \ obishare$ \“
      .InitialView = msoFileDialogViewList
      
      'Toon de dialoogdoos. Als. Toon Ware methodewinst,
      de 'gebruiker plukte minstens één dossier. Als. Toon methodewinst
      'Vals, annuleert de geklikte gebruiker.
      Als. Toon = Waar toen
         De 'lijn door elk dossier selecteerde en voegt het aan ons lijstvakje toe.
         Voor elk varFile in .SelectedItems
            fFolderDialog = varFile
         Daarna
      Anders
         fFolderDialog = ""
      Eind als
   Eind met
De Functie van het eind
Overheidsfunctie fCopyFile (strFileName als Koord) als Koord
Schemerige lstrSource als Koord
    
    Op Fout GoTo ErrfCopyFile
    
    lstrSource = strOrigDir & strFileName
    fs.CopyFile lstrSource, strDestDir
    fCopyFile = het „Dossier“ & strFileName & „kopi�ërde met succes aan“ & strDestDir & „.“
    
ExitfCopyFile:
    De Functie van de uitgang
    
ErrfCopyFile:
    fCopyFile = „Dossier“ & strFileName & „er niet in geslaagd om te kopiëren aan“ & strDestDir & „.  “
    fCopyFile = fCopyFile & de „Fout is“ & Err.Number & „-“ & Err.Description & „.“
    fCopyFile MsgBox, vbExclamation, „Fout InstallEMTSCompRpt: “
    Hervat ExitfCopyFile

Beëindig Functie

Antwoord : MS-Access VBA Filecopy keert 70 terug - ontkende toestemming

Gissing wat!  Ik heb het probleem opgelost:

Ik had de fcopy functie als volgt gecodeerd:

Overheidsfunctie fCopyFile (strFileName als Koord) als Koord
Schemerige lstrSource als Koord
   
    Op Fout GoTo ErrfCopyFile
   
    lstrSource = strOrigDir & strFileName
    fs.CopyFile lstrSource, strDestDir
    fCopyFile = „Dossier“ & strFileName & „met succes gekopi�ërd aan“ & strDestDir & „.“
   
ExitfCopyFile:
    De Functie van de uitgang

Wat ik hier fundamenteel doend ben is gelijkwaardig aan het exemplaar SourceDirectory/dossier DestinationDirectory.  Maar in tegenstelling tot het bevel van de bevellijn, wil FileSystemObject.CopyFile u de bestemmingsfolder EN FILENAME specificeren.  Anders denkt het blijkbaar u de omslag met het dossier wilt vervangen, welke Vensters u te doen verhindert (dank GD).  Wanneer ik het bestemmingsdossier specificeer - noem het de werkenboete.  Ik heb de verbeterde code vastgemaakt.

Het is geen goede dag geweest.

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
Overheidsfunctie fCopyFile (strFileName als Koord) als Koord
Schemerige lstrSource als Koord, lstrDestination als Koord
    
    Op Fout GoTo ErrfCopyFile
    
    lstrSource = strOrigDir & strFileName
    lstrDestination = strDestDir & „\“ & strFileName
    fs.CopyFile lstrSource, lstrDestination
    fCopyFile = „Dossier“ & strFileName & „met succes gekopi�ërd aan“ & strDestDir & „.“
    
ExitfCopyFile:
    De Functie van de uitgang
Andere oplossingen  
 
programming4us programming4us