Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : sauvegarder une base de données Access [ Archives Visual Basic / VBA ] (Crazyturky)

vendredi 18 mars 2005 à 22:19:17 | sauvegarder une base de données Access

Crazyturky

Salut à tous !
En fait je suis actuellement sur une application sur vb6 et je souhaiterais dans la mesure du possible pourvoir sauvegarder ma base de données Acces.
Le problème, c'est que cela peut et doit se faire n'importe quand à partir d'un clique sur un "CommandBouton" par exemple apres avoir selectionné le chemin où l'on souhaite enregistrer la base de données, il faut également savoir que la base de données est ouverte d'office lors de l'execution de l'application dans le module, c'est du DAO que je fais plus précisement.
J'ai regardé les divers éléments qui auraient pu m'aidé sur le site, mais je n'ai pas trouvé de remède, ou alors ça ne collait pas avec ce que je voulais faire.
Y a-t-il quelqu'un apte à m'aider s'il vous plait?
Merci d'avance.


vendredi 18 mars 2005 à 23:37:00 | Re : sauvegarder une base de données Access

CanisLupus

Membre Club Administrateur CodeS-SourceS
Salut,

Pour pouvoir sauvegarder ta base, il faut qu'elle ne soit ouverte par aucun prog.
Si ta base est mono-utilisateur, tu dois la fermer, faire ta sauvegarde puis la réouvrir. Pas d'autre solution avec access.

Si tu as un recorset en cours, ça signifie aussi que tu dois le recréer et rafraichir ton affichage.

Loup Gris

samedi 19 mars 2005 à 15:17:24 | Re : sauvegarder une base de données Access

Neo.balastik

Salut ;O)

CanisLupus > dans le cas d'un simple FileCopy de VB, en effet il faut que la DB soit fermée sinon il y aura une erreur 70 : Permission Denied.  Mais il ne faut pas dire qu'il n'y a pas d'autre solution avec Access... Tu te trompes !

Il est donc possible de copier un fichier en cours d'utilisation.  Pour simple exemple, ouvre une DB Access, va dans l'explorateur de Windows et fais un copier-coller de cette DB.  Et Ô miracle, cela fonctionne...

Pour arriver à cela, FileCopy de VB n'est pas approprié.  Il faudra utiliser l'API CopyFileEx.

Code :

'DECLARATION 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

'UTILISATION

Dim ret As Long
   
ret = CopyFileEx("C:\DirectorySource\MaDbSource.Mdb", "C:\DirectoryCible\MaDbCible.Mdb", ByVal 0&, ByVal 0&, ByVal 0&, &H2)

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

Mais comme le disait CannisLupus, les transactions en cours, etc ne seront pas prises en compte.  Ce qui est normal !

Guy

samedi 19 mars 2005 à 15:36:32 | Re : sauvegarder une base de données Access

CanisLupus

Membre Club Administrateur CodeS-SourceS
Effectivement Guy, tu as raison. Je n'avais pas pensé à l'API.

Loup Gris

samedi 19 mars 2005 à 18:23:04 | Re : sauvegarder une base de données Access

Neo.balastik

CanisLupus> on ne peut pas penser à tout ;O)

lundi 21 mars 2005 à 16:22:59 | Re : sauvegarder une base de données Access

Crazyturky

Salut
je vous remercie de m'avoir répondu et le probleme est effectivement le fait que la bd soit ouverte, donc dès lors, jai fait un "bd.close" et apres avoir effectuer l'enregistrement je reouvre la bd et là ça fonctionne !! c'est comme un miracle parfois (lol) mais le souci c'est qu'une disquette c'est trop petit pour la base de données que j'ai à sauvegarder mais heuresement que je peux egalement enregistrer sur mon disque dur ou sur une clé usb
par contre pour l'API je ne sais pas m'en servir malheuresement
merci de votre aide
@ bientot

mardi 22 mars 2005 à 08:42:49 | Re : sauvegarder une base de données Access

Neo.balastik

Crazyturky> Il suffisait de faire un copier-coller et d'adapter selon ton besoin.  Mais tu n'es peut-être pas habitué avec les API...  L'avantage de l'API proposée est que la DB peut rester ouverte pendant la copie.  A toit de voir.

jeudi 8 novembre 2007 à 15:10:35 | Re : sauvegarder une base de données Access

andalo

j'aadore, neobalastik, les deux methodes sont bonnes, mais pas fermer sa base et pas relancer la connexion et tous l'affichage c'est vraiment la classe. Le seul truc que je ne pige pas ce sont les variables aprés le chemin d'origine et le chemin de destination, j'ai utilisé tel quel sans savoir cea quoi ca sert, mais bon ca marche du feu de dieu.




Cette discussion est classé dans : access, base, application, données, sauvegarder


Répondre à ce message

Sujets en rapport avec ce message

Base de données ACCESS [ par tenthor ] Bonjour, Je suis étudiant en informatique (DUT). En ce moment je fais mon stage.J'ai une application de gestion à développer avec Microsoft Visual Bas Reconduite d'une application ACCESS en SQL [ par LEBLONPI ] Je dois reconduire une application ACCESS en SQL... Dans un premier temps, je n'ai reconduit que la base de données tout en Application VB6 et base de données ACCESS 2003 [ par Niangoran ] Bonjour chres amisJ ai developpé une application avec VB6 et la base de données est conçue sur ACCESS 2003.la base principale est logée sur un serveur BackgroundWorker et Base de données Access [ par blabap ] Bonjour a toutes et a tous,je suis en train de développer une application me permettant d'avoir une base de données de mes musiques qui me permettra d base de données sur access [ par tombeduciel ] bonjourj'ai un probléme dans une application que j'ai crée sur access,c'est une application de gestion de stock,elle était efficace pendant plusieurs Echec de connection à une base de données access [définir un mot de passe ] [ par stitox ] slt tout le monde, je commence on faite j'ai fini mon application (gestion documentaire) crée en vb net 2008 et utilisant access comme base de données application et base de données multiple Access [ par daniel ] Bonjour,merci de lire ce message.J'ai une application un peu particulière dans la mesure où il s'agit de créer et visualiser des bases de données créé au bord du suicide!!!! Comment créer une table dans une base de données à l'aide d'un code VB [ par velocy ] tout d'abord merci à toutes les personnes qui liront ce message!!!j'ai un énorme problème!!j'aimerais savoir comment à partir de VB, créer une base de Sauvegarder une base de données access 2003 ? [ par bip54 ] Bonjour, et mes excuses pour cette question qui paraîtra sans doute stupide à beaucoub :Je suis secrétaire d'une petite association et j'ai réalisé so Base de données incomplète ? [ par galtitou ] Bonjour,j'ai téléchargé le zip d'un code icihttp://www.vbfrance.com/codes/GESTION-COMMERCIALE_36760.aspxje suis sous access 2007 et quand j'ouvre le .


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,374 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.