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. 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.
    0
    1. Pas du tout, les fichiers sont en principe, fermés.
      0
      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
        0
        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 ?
          0
        2. @NHenryBonjour,

          L'essai est fait seulement en debug.
          Concernant cette procédure de Open ....., Sincèrement je ne le comprenais pas
          0
        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 ?
          0
      2. Une idée dont je n'en suis pas sûr, ne faudrait il pas créer un module à part ?
        0
        1. Justement, le fichier destinataire est crée manuellement
          0
          1. Re bonjour

            Merci pour votre réactivité, l'application me revoie "Permission refusée" erreur 70
            0
            1. Modérateur
              Est-ce que tu as la possibilité de craer un fichier "manuellement" déjà ?
              0
          2. Modérateur
            Et si tu mets :
            FileCopy LblChemin, "E:\InstLiquidations\BDLiquidations.mdb"

            0