OVH Cloud OVH Cloud

Copier une base ou un Fichier en VBA

4 réponses
Avatar
Luis
Bonjour,
J'aimerai savoir comment faire pour copier une base de=20
donn=E9e pour faire une sauvegarde, sans le copier/coller.
Pour l'instant j'en suis =E0 "FileCopy strBdd, strBackup"
Mais l=E0 j'ai une copier qui se fait dans le m=EAme=20
r=E9pertoire, alors que j'aimerai que la copie se fasse sur=20
un autre disque.
Merci pour votre aide.
Luis

4 réponses

Avatar
Anor
Bonjour,

Luis wrote:
| Bonjour,
| J'aimerai savoir comment faire pour copier une base de
| donnée pour faire une sauvegarde, sans le copier/coller.
| Pour l'instant j'en suis à "FileCopy strBdd, strBackup"
| Mais là j'ai une copier qui se fait dans le même
| répertoire, alors que j'aimerai que la copie se fasse sur
| un autre disque.
| Merci pour votre aide.
| Luis



Tu peux faire aussi (depuis une autre bdd ):

Call Shell ("MSACCESS.EXE" "C:cheminlabase.mdb" /compact "D:backuplabasesauvegardee.mdb")

--
à+
Arnaud
--------------------------------------------------
Conseils d'utilisation : http://users.skynet.be/mpfa/
Access Memorandum : http://memoaccess.free.fr
/Réponses souhaitées sur ce forum, merci/
--------------------------------------------------
Avatar
Raymond [mvp]
Bonjour Luis.

Il te faut la version 2003 pour pouvoir sauvegarder la base directement à
partir de la base elle-même. dans les autres versions, tu auras le problème
de fichier en utilisation.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Luis" a écrit dans le message de
news:32f401c4290d$dc57c5f0$
Bonjour,
J'aimerai savoir comment faire pour copier une base de
donnée pour faire une sauvegarde, sans le copier/coller.
Pour l'instant j'en suis à "FileCopy strBdd, strBackup"
Mais là j'ai une copier qui se fait dans le même
répertoire, alors que j'aimerai que la copie se fasse sur
un autre disque.
Merci pour votre aide.
Luis
Avatar
Luis
Bonjour Raymond,
Oui, j'avais déjà prévu le coup donc j'avais créé une
nouvelle BD qui fonctionne bien, simplement comme je
disais dans mon précédent message, la copie se fait dans
le même répertoir et j'aimerai l'envoyer dans un
répertoire différent ou dans un autre disque.
Voilà le bout de code qui me fait la copie:
Public Function Copier() As Boolean
Dim strNomFichier As String, strBackup As String, strBdd
As String
Dim Bdd As Database
Set Bdd = CurrentDb()
strBdd = Forms![Copier].[Sélection]

strNomFichier = Left(strBdd, InStr(strBdd, ".mdb") - 1)
strBackup = Sélection & "_Backup.mdb"
FileCopy strBdd, strBackup
Copier = True
Exit Function
End Function
Dans ce formulaire 'Copier' dans la fenêtre 'Sélection' je
choisi la base à copier et avec une Commande je lance la
procédure.
Jusque là tout va bien.
Mais j'aimerai changer FileCopy strBdd, strBackup du
module pour pouvoir avec une autre fen^tre du formulaire
en voyer al copie comme choisi.
Si tu as une idée.
Merci Raymond.
Luis
-----Message d'origine-----
Bonjour Luis.

Il te faut la version 2003 pour pouvoir sauvegarder la
base directement à

partir de la base elle-même. dans les autres versions, tu
auras le problème

de fichier en utilisation.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Luis" a écrit dans
le message de

news:32f401c4290d$dc57c5f0$
Bonjour,
J'aimerai savoir comment faire pour copier une base de
donnée pour faire une sauvegarde, sans le copier/coller.
Pour l'instant j'en suis à "FileCopy strBdd, strBackup"
Mais là j'ai une copier qui se fait dans le même
répertoire, alors que j'aimerai que la copie se fasse sur
un autre disque.
Merci pour votre aide.
Luis


.



Avatar
Raymond [mvp]
le fichier à copier et le fichier copié peuvent contenir le chemin complet.
strBackup = "c:........." & "" & Sélection & "_Backup.mdb"
ou
strBackup = moncontrole & "" & Sélection & "_Backup.mdb"

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Luis" a écrit dans le message de
news:34be01c4292c$50628430$
Bonjour Raymond,
Oui, j'avais déjà prévu le coup donc j'avais créé une
nouvelle BD qui fonctionne bien, simplement comme je
disais dans mon précédent message, la copie se fait dans
le même répertoir et j'aimerai l'envoyer dans un
répertoire différent ou dans un autre disque.
Voilà le bout de code qui me fait la copie:
Public Function Copier() As Boolean
Dim strNomFichier As String, strBackup As String, strBdd
As String
Dim Bdd As Database
Set Bdd = CurrentDb()
strBdd = Forms![Copier].[Sélection]

strNomFichier = Left(strBdd, InStr(strBdd, ".mdb") - 1)
strBackup = Sélection & "_Backup.mdb"
FileCopy strBdd, strBackup
Copier = True
Exit Function
End Function
Dans ce formulaire 'Copier' dans la fenêtre 'Sélection' je
choisi la base à copier et avec une Commande je lance la
procédure.
Jusque là tout va bien.
Mais j'aimerai changer FileCopy strBdd, strBackup du
module pour pouvoir avec une autre fen^tre du formulaire
en voyer al copie comme choisi.
Si tu as une idée.
Merci Raymond.
Luis