Copier une BD de C:\ vers E:\

Résolu
Bonjour,

N.B : l'environnement du travail est VB6

Je tente de copier ma BD de C:\ vers E:\ sans résultat, l'application me renvoie un message de "Permission refusée"

Mon code est comme suite:

Private Sub LblCopier_Click()

On Error GoTo nnn:

CmnDialog.Filter = "Toutes les extensions (*.*)|*.*"
CmnDialog.InitDir = "C:\InstLiquidations\BDLiquidations.mdb"
lblchemin=CmnDialog

FileCopy LblChemin, "E:\InstLiquidations\"

nnn:

End Sub


Merci d'avance pour votre aide

7 réponses

  1. Modérateur
    Et si tu mets :
    FileCopy LblChemin, "E:\InstLiquidations\BDLiquidations.mdb"

    1. Re bonjour

      Merci pour votre réactivité, l'application me revoie "Permission refusée" erreur 70
      1. Modérateur
        Est-ce que tu as la possibilité de craer un fichier "manuellement" déjà ?
    2. Justement, le fichier destinataire est crée manuellement
      1. Une idée dont je n'en suis pas sûr, ne faudrait il pas créer un module à part ?
        1. Bonjour,

          Je vous remets ce que j'ai créer manuellement sans resultat, toujours ce message (Permission refusée), 'Erreur 70'

          'On error goto nnn:
          
          CheminSource = "C:\InstAppSLiquidations\AppSLiquidations\BDLiquidations.mdb"
          CheminDestination = "E:\InstAppSLiquidations\AppSLiquidations\BDLiquidations.mdb"
          
          CmnDialog.ShowSave
          CmnDialog.Filter = "Toutes les extensions (*.*)|*.*"
          CmnDialog.InitDir = "E:\InstAppSLiquidations\AppSLiquidations\BDLiquidations.mdb"
          FileCopy CheminSource, CheminDestination
          
          
          'nnn:
          


          Faudrait il recourir au creatObjet ?
          Je ne sais plus quoi fait, vraiment je suis bloqué, et toute ma petite application avec
          1. Modérateur
            Alors que je reprenne :
            Tu tentes de copier le fichier "C:\InstAppSLiquidations\AppSLiquidations\BDLiquidations.mdb" dans le fichier "E:\InstAppSLiquidations\AppSLiquidations\BDLiquidations.mdb".
            Tu as déjà créé manuellement le fichier "E:\InstAppSLiquidations\AppSLiquidations\BDLiquidations.mdb"
            Et tu as l'erreur.

            VB6 est vieux et remplacé par VB.NET et C#, mais passons ce point.

            As-tu essayé avec un OPEN "..." FOR OUTPUT AS #... ?
            pour voir si VB6 peut écrire dedans ?
            As-tu essayé en mode compilé ou seulement en debug ?
          2. @NHenryBonjour,

            L'essai est fait seulement en debug.
            Concernant cette procédure de Open ....., Sincèrement je ne le comprenais pas
          3. Modérateur
            @LenouveauapprentiEn gros avec OPEN (instruction VB6) tu ouvre un fichier en écriture dans le dossier cible (voir même en essaye d'écraser le fichier), si ça passe, c'est que le problème est hors de ce qui est imaginé (droits d'accès au dossier), sinon, c'est qu'un problème est présent et doit être corrigé.

            Question doute, les fichier à copier (source ET destination) ne sont aps ouvert/utilisée par d'autres applis pendant que tu copies ?
        2. Pas du tout, les fichiers sont en principe, fermés.
          1. Bonjour

            Faute de trouver mieux, je me suis contenter d'une solution simple, selon laquelle,
            j'ai usé de CommonDialog.ShowOpen, puis de sélectionne le fichier (Source) à copier à partir de C:\, et je le copie via le menu du bouton droite de la souris, puis je sélectionne le dossier destinataire de l'unité E:\, et je l'y colle.