IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

VB6-Err70 permission refusée sur FileCopy d'une DB ADO


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 5
    Par défaut VB6-Err70 permission refusée sur FileCopy d'une DB ADO
    Je tourne depuis deux jours sur un pb en VB6.

    J'ai une data base ADO, ouverte avec une connection "Conn" qui fonctionne sans problème.

    J'ai besoin d'en faire une copie. J'ai écrit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    dim MdlName as string                           
    MdlName = "d:\backup\SavedDB.mdb"                   
    If FileExists(MdlName) Then Kill MdlName                             
    conn.Close					                   
    Set conn = Nothing
    FileCopy CURRENT, MdlName
    Je récolte une erreur 70 "Permission refusée" sur l'instruction FileCopy
    Tout se passe comme si la connection n'était pas fermée.
    J'ai essayé un tas de choses, comme un DoEvents après conn.close , mais rien n'y fait.

    Quelqu'un a-t-il une idée ?

    JMCahard

  2. #2
    Xo
    Xo est déconnecté
    Membre Expert
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    Salut, et bienvenue sur ce forum,

    L'instruction Kill de ton backup a-t-elle correctement fonctionné ? D'ailleurs, par sécurité, tu devrais le renommer plutôt que le suppimer, non ?
    Qu'as-tu dans la variable CURRENT au moment de ton erreur ?
    Si tu essayes la copie manuellement à ce moment, y-arrives-tu ?

    Je suppose qu'il manque un "=" dans la 2° ligne du code que tu nous a fourni
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 5
    Par défaut
    Bonjour,

    Oui le Kill fonctionne bien. D'ailleurs dans mes tests il n'est pas exécuté car le fichier n'existe pas.

    2eme ligne: le signe = a disparu, mais il est bien dans le code

    la variable CURRENT contient "d:\data\idx00023.MDB"

    Une copie "manuelle" sous windows, alors que le prog. VB est stoppé sur le message 70, se fait sans problème.

    Merci de ton aide

  4. #4
    Xo
    Xo est déconnecté
    Membre Expert
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    Imaginons que tu mettes un point d'arrêt dans ton code sur le Conn.Close : la copie manuelle fonctionne-t-elle toujours à ce moment ? Je pense que non ...

    Si je te propose ceci, c'est parce que MSDN dit ceci :
    Vous avez tenté d'écrire dans un fichier qu'un autre processus a verrouillé.
    Attendez que l'autre processus libère le fichier pour l'ouvrir.
    Peut-être qu'un simple Sleep résoudrait ton problème ?
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  5. #5
    Nouveau membre du Club
    Inscrit en
    Janvier 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 5
    Par défaut
    J'ai trouvé !

    La connexion ADO est bien fermée, MAIS, dans un coin obscur de l'application il y a cette instruction:
    cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CURRENT_DB_FILE & ";"
    Il m'a suffit d'ajouter, au bon endroit:
    Set cat = Nothing
    pour tout débloquer.

    Je me sens mieux.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur 70: permission refusée. Vérifier type d'une cellule.
    Par c.piette dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/04/2015, 09h46
  2. [VB6] Lire et écrire sur une fenêtre dos...
    Par Zenar dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 16/03/2008, 13h14
  3. "Permission refusée sur un ADODB.Connection
    Par Seto dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 15/10/2007, 12h02
  4. tester le titre d'une fenêtre retourne Permission refusée
    Par titouille dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 16/12/2005, 16h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo