Problème avec FileCopy

csemde Messages postés 32 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 15 janvier 2010 - 26 nov. 2004 à 13:32
csemde Messages postés 32 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 15 janvier 2010 - 26 nov. 2004 à 17:54
Bonjour.
J'ai un problème avec la commande FileCopy. A l'éxécution il met Permission refusé!

extait du code
bd1=opendatabase("mabase1.mdb")
bd2=opendatabase("mabase2.mdb")
bd1.close
bd2.close
filecopy ("mabase1.mdb"), ("mabase2.mdb")

merci d'avance.

Le pouvoir appartient à celui
qui détient l'information.

13 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
26 nov. 2004 à 13:40
Peut-être que le temps passé entre le close et le filecopy n'est pas suffisant pour le système pour libérer les ressources rattachées au fichier ouvert.

Je te suggère de faire un DoEvents, et si ca ne suffit pas, un sleep :

bd1=opendatabase("mabase1.mdb")
bd2=opendatabase("mabase2.mdb")
bd1.close
bd2.close
DoEvents
'Si ca ne suffit pas : sleep(100)
filecopy ("mabase1.mdb"), ("mabase2.mdb")
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
csemde Messages postés 32 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 15 janvier 2010
26 nov. 2004 à 14:00
Merci. Mais la fonction sleep n'est pas reconnu.
Toujours le meme problème meme avec DoEvents.
merci.

Le pouvoir appartient à celui
qui détient l'information.
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
26 nov. 2004 à 14:27
Normal, il faut la déclarer : il s'agit d'une fonction de l'API Windows.

Voir ProgOtoP API Viewer.
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
26 nov. 2004 à 15:04
labout

Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sleep 5000
attends 5 secondes
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
csemde Messages postés 32 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 15 janvier 2010
26 nov. 2004 à 15:20
merci. La fonction sleep marche bien.
mais mon problème n'est toujours pas résolu.

'erreur 70
' permission refusée

Dois-je paramétrer autre chose.

PS: le téléchargement de ProOTop Api Viewer ne marche pas correctement.

Le pouvoir appartient à celui
qui détient l'information.
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
26 nov. 2004 à 15:48
càd il ne fonctionne pas correctement ??? Le download ne démarre pas ? Il coupe au milieu ? Le fichier téléchargé est corrompu ?

Es-tu sûr que tes fichiers sont bien fermés et qu'aucune référence n'est définie (notament au niveau des contrôles) ?
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
csemde Messages postés 32 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 15 janvier 2010
26 nov. 2004 à 16:10
Le download coupe au milieu.

Oui j'utilise plusieurs control adodc qui font référence à la base de données.
mais je me dis qu'en fermant la base juste avant d'appeler Filecopy cela devrait pouvoir marcher.

Le pouvoir appartient à celui
qui détient l'information.
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
26 nov. 2004 à 16:16
Il faut bien que les contrôles soient déchargés avant de copier ton fichier !

P.S. : il arrive en effet que le download soit interrompu par notre hébergeur pour des raisons inconnues. Pour y remédier il faut retélécharger le fichier (qui reprend là où il s'est arrêté normalement).
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
csemde Messages postés 32 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 15 janvier 2010
26 nov. 2004 à 16:53
En fait j'utilise la commande FileCopy dans un MDIForm. Donc je pense qu'il n'a pas encore chargé les controles qui font référence à la base, qui eux se trouvent dans les diverses feuilles filles. je n'ai placé aucun controle dans le mdiForm qui fasse référence a la base.

PS: Meme en retelechargeant il coupe toujours au milieu.

Le pouvoir appartient à celui
qui détient l'information.
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
26 nov. 2004 à 17:10
Tout dépend à quel moment tu appelle la copie : si tu la fait à la fin du programme, et que des feuilles non pas été déchargées de la mémoire (avec un Unload(form)), alors c'est qu'il existe encore des références à ta base dans des contrôles !

P.S. : ProgOtoP étant très lent ses derniers temps, je pense que ton problème vient de là : notre hébergeur doit faire de la maintenance sur ses serveurs, et du coup, les téléchargements ne doivent pas aboutir :(
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
csemde Messages postés 32 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 15 janvier 2010
26 nov. 2004 à 17:31
OK tu as raison.
J'ai essayé d'éxécuter la commande filecopy dans un nouveau projet à l'évènement Load d'une feuille vierge et pas de bug. ca marche. il faut donc que je décharge tous les controles faisant référence à la base dans mon projet.
Mais dans ce cas y a t il une astuce pour cela car j'utilise plusieurs controles dans divers feuilles. il serait fastidieux de les décharger un à un dans une procédure spéciale juste avant l'appel de la commande FileCopy.

Le pouvoir appartient à celui
qui détient l'information.
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
26 nov. 2004 à 17:43
Décharge toutes tes feuilles (sauf la principale : la feuille mère MDI !) :

Unload(Form1)
Unload(Form2)
'etc.
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
csemde Messages postés 32 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 15 janvier 2010
26 nov. 2004 à 17:54
Encore merci ca marche

Le pouvoir appartient à celui
qui détient l'information.
0
Rejoignez-nous