Sauvegarder une BDD access

Résolu
J_il Messages postés 109 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 9 septembre 2008 - 9 mai 2007 à 13:27
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 - 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

20 réponses

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
9 mai 2007 à 18:47
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


 
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
9 mai 2007 à 19:08
Salut,

Modife :

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

A+
Exploreur

 
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
12 mai 2007 à 13:39
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


 
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
9 mai 2007 à 13:32
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

 
0

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

Posez votre question
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
9 mai 2007 à 13:39
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


 
0
J_il Messages postés 109 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 9 septembre 2008
9 mai 2007 à 17:43
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
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
9 mai 2007 à 18:13
Salut,

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


A+
Exploreur


 
0
J_il Messages postés 109 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 9 septembre 2008
9 mai 2007 à 18:33
ok merci beaucoup je regarderais à ça

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

Je vais regarder cela à+

J-il
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
10 mai 2007 à 18:16
No problème...

A+
Exploreur

 
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
12 mai 2007 à 11:12
Salut,

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

A+
Exploreur

 
0
J_il Messages postés 109 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 9 septembre 2008
12 mai 2007 à 12:54
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
0
J_il Messages postés 109 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 9 septembre 2008
12 mai 2007 à 13:59
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
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
12 mai 2007 à 14:07
Salut,

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

A+
Exploreur

 
0
J_il Messages postés 109 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 9 septembre 2008
12 mai 2007 à 14:11
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
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
12 mai 2007 à 14:14
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


 
0
J_il Messages postés 109 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 9 septembre 2008
12 mai 2007 à 14:18
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
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
12 mai 2007 à 14:21
Salut,

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

A+
Exploreur

 
0
J_il Messages postés 109 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 9 septembre 2008
12 mai 2007 à 14:26
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
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
12 mai 2007 à 14:40
Salut,

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

A+
Exploreur

 
0
Rejoignez-nous