Sauvegarder une BDD access [Résolu]

J_il 110 Messages postés mardi 27 mars 2007Date d'inscription 9 septembre 2008 Dernière intervention - 9 mai 2007 à 13:27 - Dernière réponse : cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention
- 12 mai 2007 à 14:40
Bonjour à tous, voici mon problème...

Dans mon application VB6.0 j'aimerais faire une sauvegarde de ma BDD access à l'aide du Control CommomDialog en utilisant la fonction CommDialog.ShowSave

Jusque la pas de problème... j'arrive bien à ouvrir mon control, à mettre le titre etc mais le problème suivant est que je ne sais comment sauver ma BDD.

Le nom de ma BDD est gestion_graduat_info91.mdb ?

J'aimerais aussi que le nom de ma BDD soit suivi de la date du système comme ça moins de risque d'écrasement !

Merci d'avance J-il
Afficher la suite 

Votre réponse

20 réponses

Meilleure réponse
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 9 mai 2007 à 18:47
3
Merci
Salut,

Voici alors pa rapport à ta CommDialog

Private Sub Command1_Click()


 Dim SrcFichier As String
 
 SrcFichier = "C:\Ton Fichier source de la base"
 
'Paramètre boite de sauvegarde
  CommDialog .Filter = "Fichiers Access (*.MDB)|*.Mdb"
 CommDialog.FileName = vbNullString
  CommDialog .CancelError = True


'On autorise l'écrasement d'un fichier existant
 CommDialog.Flags = cdlOFNOverwritePrompt


' Si touche Annuler préssée >> génération d'une erreur >> étiquette
 On Error GoTo Exitsave
 
'on ouvre la boite de dialogue
  CommDialog .ShowSave
 
 FileCopy SrcFichier, CommDialog.FileName & "_" & FormatDateTime(Now, vbLongDate)
 
Exitsave:
' Condition si Annuler préssé
 If Err.Number = 32755 Then
    Exit Sub
    Err.Clear
 End If


 
End Sub


A+
Exploreur


 

Merci cs_Exploreur 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de cs_Exploreur
Meilleure réponse
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 9 mai 2007 à 19:08
3
Merci
Salut,

Modife :

 FileCopy SrcFichier, CommDialog.FileName & "_" & FormatDateTime(Now, vbLongDate) & ".mdb"

A+
Exploreur

 

Merci cs_Exploreur 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de cs_Exploreur
Meilleure réponse
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 12 mai 2007 à 13:39
3
Merci
Salut,

Tiens regarde, j'ai revue un peu ton code, maintenant tu peux choisir si tu veux que le nom de ta sauvegarde contienne une date longue ou courte, tu n'as cas mettre en commentaire celle que tu ne veut pas(ces les lignes en rouge)

Dim str_nom_fichier As String
Dim DateCourte As String


If MsgBox("Voulez-vous faire une sauvegarde de la Base de données ?", vbExclamation Or vbOKCancel, "Confirmation") = vbOK Then
  
   ' Définit le chemin source de la base
    str_nom_fichier = App.Path & "\gestion_graduat_info97.mdb"
 
   ' Paramètre boite de sauvegarde
    CommonDialog.DialogTitle = "Enregistrer la base de données GESTION_GRADUAT_INFO97.mdb"
    CommonDialog.Filter = "Fichiers Access (*.MDB)|*.Mdb"
    CommonDialog.InitDir = App.Path
   
   ' Fichier par défaut avec date longue
    CommonDialog.FileName = str_nom_fichier & "_" & FormatDateTime(Now, vbLongDate) & ".mdb"
   
   ' OU  CI-DESSOUS
  
   ' Fichier par défaut avec date courte
    DateCourte = FormatDateTime(Now, vbShortDate)
    DateCourte = Replace(DateCourte, "/", "_", 1)
 
    CommonDialog.FileName = str_nom_fichier & "_" & DateCourte & ".mdb"
   
   
    CommonDialog.CancelError = True


  ' On autorise l'écrasement d'un fichier existant
   CommonDialog.Flags = cdlOFNOverwritePrompt


  ' Si touche Annuler préssée >> génération d'une erreur >> étiquette
   On Error GoTo Exitsave
 
  ' on ouvre la boite de dialogue
   CommonDialog.ShowSave
  
  ' Copie le fichier
   FileCopy str_nom_fichier, CommonDialog.FileName & "_" & FormatDateTime(Now, vbLongDate) & ".mdb"
 
Exitsave:
' Condition si Annuler préssé
 If Err.Number = 32755 Then
    Exit Sub
    Err.Clear
 End If


End If


Unload mdi_frm_secretariat
frm_msgbox_quitter_mid.Show


A+
Exploreur


 

Merci cs_Exploreur 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de cs_Exploreur
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 9 mai 2007 à 13:32
0
Merci
Salut,

A la place peut-être d'une commDialog, utilises plutôt un simple bouton "Sauvegarde Base" avec l'instruction  >> Name.

Elle te permet de renomer un fichier sous une autre appélation..

Utilisation de Name :

Name Tonfichier As Tasauvegarde

A+
Exploreur

 
Commenter la réponse de cs_Exploreur
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 9 mai 2007 à 13:39
0
Merci
Re,

Voici un exemple de ce que je t'es dit :

Dim SrcFichier As String
Dim SauvFichier As String


SrcFichier = ("C:\Tabase.mdb")
SauvFichier = ("C:\Sauv.mdb" & "_" & FormatDateTime(Now, vbLongDate))

Name SrcFichier As SauvFichier


A+
Exploreur


 
Commenter la réponse de cs_Exploreur
J_il 110 Messages postés mardi 27 mars 2007Date d'inscription 9 septembre 2008 Dernière intervention - 9 mai 2007 à 17:43
0
Merci
Merci beaucoup, j'ai testé ta solution elle fonctionne...

Mais mon projet d'oit être fait de la manière dont j'ai expliqué au-dessus et je ne trouve toujours pas comment faire...

Merci tout de même de ton aide !

J-il
Commenter la réponse de J_il
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 9 mai 2007 à 18:13
0
Merci
Salut,

Regarde avec ton aide en ligne la propriété : FileName de ta boite de dialogue..


A+
Exploreur


 
Commenter la réponse de cs_Exploreur
J_il 110 Messages postés mardi 27 mars 2007Date d'inscription 9 septembre 2008 Dernière intervention - 9 mai 2007 à 18:33
0
Merci
ok merci beaucoup je regarderais à ça

A+ j-il
Commenter la réponse de J_il
J_il 110 Messages postés mardi 27 mars 2007Date d'inscription 9 septembre 2008 Dernière intervention - 10 mai 2007 à 17:57
0
Merci
Merci à toi Exploreur c'est super de me filer ton aide...

Je vais regarder cela à+

J-il
Commenter la réponse de J_il
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 10 mai 2007 à 18:16
0
Merci
No problème...

A+
Exploreur

 
Commenter la réponse de cs_Exploreur
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 12 mai 2007 à 11:12
0
Merci
Salut,

Juste pour savoir, si cela est le résultat que tu attendais...Ou si j'ai fait fausse route...

A+
Exploreur

 
Commenter la réponse de cs_Exploreur
J_il 110 Messages postés mardi 27 mars 2007Date d'inscription 9 septembre 2008 Dernière intervention - 12 mai 2007 à 12:54
0
Merci
Merci à toi Exploreur, cela fonctionne à merveille, comme je dis toujours merci à tous les membres comme toi qui aident les gens dans leur projet !

Voici le code complet du bouton !  :

Private Sub mnuFichierQuitter_Click()

Dim str_nom_fichier As String

int_reponse = MsgBox("Voulez-vous faire une sauvegarde de la Base de données ?", vbYesNo + vbExclamation, "Sauvegarder")

If int_reponse = vbYes Then
 
str_nom_fichier = App.Path & "\gestion_graduat_info97.mdb"
 
'Paramètre boite de sauvegarde
CommonDialog.DialogTitle = "Enregistrer la base de données GESTION_GRADUAT_INFO97.mdb"
CommonDialog.Filter = "Fichiers Access (*.MDB)|*.Mdb"
CommonDialog.InitDir = App.Path
CommonDialog.FileName = vbNullString
CommonDialog.CancelError = True

'On autorise l'écrasement d'un fichier existant
 CommonDialog.Flags = cdlOFNOverwritePrompt

' Si touche Annuler préssée >> génération d'une erreur >> étiquette
 On Error GoTo Exitsave
 
'on ouvre la boite de dialogue
 CommonDialog.ShowSave
 
FileCopy str_nom_fichier, CommonDialog.FileName & "_" & FormatDateTime(Now, vbLongDate) & ".mdb"
 
Exitsave:
' Condition si Annuler préssé
 If Err.Number = 32755 Then
    Exit Sub
    Err.Clear
 End If

End If

Unload mdi_frm_secretariat
frm_msgbox_quitter_mid.Show

End Sub

PS : comment faire pour que le nom de fichier soit mis automatique dans l'espace prévu au nom de fichier ! donc lorsque la boîte s'ouvre, cdans le champs nom de fichier, il soit mis le nom de la bdd avec le jour et la date...

J'ai essayé certaines possibilité des propriétés mais je n'y arrive pas ! Est-ce que je dois placer le code ailleurs que dans ce bouton ou bien c'est trop simple pour y avoir pensé lol

Merci à tous J-il
Commenter la réponse de J_il
J_il 110 Messages postés mardi 27 mars 2007Date d'inscription 9 septembre 2008 Dernière intervention - 12 mai 2007 à 13:59
0
Merci
Cela aussi va très bien un grand merci pour tes solutions !

Au fait j'aurais pu éventuellement y arriver si j'avais enlevé ceci

CommonDialog.FileName = vbNullString
CommonDialog.CancelError = True

je viens de comprend qu'en laissant ce code rien ne se mettait lol

Enfin un grand grand merci à toi j'ai pu finaliser mon projet !

Que je vais mettre sous peu sur VBFrance, tu pourras comme ça voir ce que ça donne

Encore un grand merci J-il
Commenter la réponse de J_il
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 12 mai 2007 à 14:07
0
Merci
Salut,

Attend...attend..dans 5 minutes je te refais un autre truc....(vérification de la présence de ton fichier bdd)...

A+
Exploreur

 
Commenter la réponse de cs_Exploreur
J_il 110 Messages postés mardi 27 mars 2007Date d'inscription 9 septembre 2008 Dernière intervention - 12 mai 2007 à 14:11
0
Merci
Ok pas deprob mais ce que tu as oublié de me dire mdr c'est ceci... Il fallait enlever dans cette ligne

' Copie le fichier
   FileCopy str_nom_fichier, CommonDialog.FileName & "_" & FormatDateTime(Now, vbLongDate) & ".mdb"

Tout ce qui est présent après le FileName hihihiih mais j'ai trouvé je suis un peu content mdr lol

Ok pour le teste du fichier c'est cool !

J-il
Commenter la réponse de J_il
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 12 mai 2007 à 14:14
0
Merci
Re,

Voilà... en rouge ce que j'ai rajouté...Heu...oui j'ai oublié de te dire

Private Sub mnuFichierQuitter_Click()


  ' Variable de travail
   Dim str_nom_fichier As String
   Dim DateCourte As String


If MsgBox("Voulez-vous faire une sauvegarde de la Base de données ?", vbExclamation Or vbOKCancel, "Confirmation") = vbOK Then


   ' Chemin source de la base
    str_nom_fichier = App.Path & "\gestion_graduat_info97.mdb"
  
   ' Vérifie si le fichier est présent 
     If Not FileExist(str_nom_fichier) Then
        MsgBox "Fichier de la base introuvable !!", vbCritical
        Exit Sub
     End If
    
   ' Paramètre boite de sauvegarde
    CommonDialog.DialogTitle = "Enregistrer la base de données GESTION_GRADUAT_INFO97.mdb"
    CommonDialog.Filter = "Fichiers Access (*.MDB)|*.Mdb"
    CommonDialog.InitDir = App.Path
   
   ' Fichier par défaut avec date longue
    CommonDialog.FileName = str_nom_fichier & "_" & FormatDateTime(Now, vbLongDate) & ".mdb"
   
   ' OU  CI-DESSOUS
  
   ' Fichier par défaut avec date courte
    DateCourte = FormatDateTime(Now, vbShortDate)
    DateCourte = Replace(DateCourte, "/", "_", 1)
 
    CommonDialog.FileName = str_nom_fichier & "_" & DateCourte & ".mdb"
   
   
    CommonDialog.CancelError = True


  ' On autorise l'écrasement d'un fichier existant
   CommonDialog.Flags = cdlOFNOverwritePrompt


  ' Si touche Annuler préssée >> génération d'une erreur >> étiquette
   On Error GoTo Exitsave
 
  ' on ouvre la boite de dialogue
   CommonDialog.ShowSave
  
  ' Copie le fichier
   FileCopy str_nom_fichier, CommonDialog.FileName
 
Exitsave:
' Condition si Annuler préssé
 If Err.Number = 32755 Then
    Exit Sub
    Err.Clear
 End If


End If




End Sub





Private Function FileExist(ByRef inFile As String) As Boolean



    'Fonction provenant de EDais (edais.mvps.org)
    On Error Resume Next
    Let FileExist = CBool(FileLen(inFile) + 1)
   
End Function



A+
Exploreur


A+
Exploreur


 
Commenter la réponse de cs_Exploreur
J_il 110 Messages postés mardi 27 mars 2007Date d'inscription 9 septembre 2008 Dernière intervention - 12 mai 2007 à 14:18
0
Merci
Merci c'est trop excellent ça !

Voila ma sauvegarde de BDD est faite grâce à toi un grand grand merci !

Je te tiens au courant lorsque je mets le programme en ligne
Commenter la réponse de J_il
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 12 mai 2007 à 14:21
0
Merci
Salut,

Où je me régale, c'est quand je peux aider...Tout simplement....

A+
Exploreur

 
Commenter la réponse de cs_Exploreur
J_il 110 Messages postés mardi 27 mars 2007Date d'inscription 9 septembre 2008 Dernière intervention - 12 mai 2007 à 14:26
0
Merci
Je m'en doute..... à voir ce que m'a donné

Moi je suis pas encore un pro mais bon j'essaie et puis il y a bcpd e chose que je n'ai pas encore utilisée donc voila pourquoi mes questions !

Et puis on arrive pas toujours à tout trouver sur le net sauf en posant des questions !

Encore merci à toi

J-il
Commenter la réponse de J_il
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 12 mai 2007 à 14:40
0
Merci
Salut,

Celui-là >>  je l'aime pas....me fait peur...lol.. 

A+
Exploreur

 
Commenter la réponse de cs_Exploreur

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.