URGENT!! forcer à copier un fichier!!

Messages postés
38
Date d'inscription
mardi 21 novembre 2000
Statut
Membre
Dernière intervention
12 août 2005
- - Dernière réponse : cs_CanisLupus
Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
- 12 août 2005 à 17:42
Salut à tous,
Comment forcer à copier un fichier ouvert afin d'en avoir une sauvegarde ?
Explications: à partir d'une BDD finalisée, je veux créer un répertoire "prêt-à-graver" avec ce qu'il faudra mettre sur le CD. Pour cela, il me faut faire une sauvegarde de la BDD à partir de laquelle le code VBA produit de répertoire.
J'utilise la commande FileCopy FileBDD, Me.txtAdresseAGraver.Value & "" & Nom
Un moyen pour forcer la copie? C'est assez urgent!!
Afficher la suite 

7 réponses

Messages postés
73
Date d'inscription
lundi 23 octobre 2000
Statut
Membre
Dernière intervention
16 mars 2008
0
Merci
Salut !

Et si tu faisais juste un enregistrer sous ?

Bonne prog

Fife
Messages postés
195
Date d'inscription
vendredi 3 juin 2005
Statut
Membre
Dernière intervention
13 juillet 2006
3
0
Merci
Slt,

Avec ca, ca marche ????



Imports System.IO

File.Copy(source, destination)
Messages postés
38
Date d'inscription
mardi 21 novembre 2000
Statut
Membre
Dernière intervention
12 août 2005
0
Merci
Imports System.IO ==> sub ou fonction non définie

Dis moi, Fife, quelle est la commande pour faire un enregistrer sous? SaveToFile? (si c'est ça, tu peux me donner la syntaxe? Mon aide de VB merde sur ça)
Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
10
0
Merci
Salut,

As tu essayé l'api CopyFileEx ? Voilà un bout de code qui permet de copier un fichier (base de données ou autre) même en cours d'utilisation :



'Dans un module, déclaration de l'api

Public Declare Function CopyFileEx Lib "kernel32.dll" Alias "CopyFileExA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal lpProgressRoutine As Long, lpData As Any, ByRef pbCancel As Long, ByVal dwCopyFlags As Long) As Long

'Dans ton code :

Dim ret As Long

ret = CopyFileEx("C:\DirectorySource\MonFichier", "C:\DirectoryCible\MonFichier", 0&, 0&, 0&, &H2)

If ret = 0 the MsgBox "Copie réussie" Else Msgbox "La copie a échoué"

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
Messages postés
38
Date d'inscription
mardi 21 novembre 2000
Statut
Membre
Dernière intervention
12 août 2005
0
Merci
Dans quels cas la copie peut-elle échouer? Parce que c'est le cas...
Messages postés
38
Date d'inscription
mardi 21 novembre 2000
Statut
Membre
Dernière intervention
12 août 2005
0
Merci
Et où trouvez-vous tous ces API? Puis que veut dire API?
Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
10
0
Merci
Explications ici :
http://www.mentalis.org/apilist/CopyFileEx.shtml

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?