IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Base scinder et sauvegarde de données


Sujet :

IHM

  1. #1
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 162
    Points : 70
    Points
    70
    Par défaut Base scinder et sauvegarde de données
    Bonjour

    Voilà j'ai mis ma base à un emplacement et un type de la qualité de chez nous à bouger la base dorsal de son emplacement. Bon pour les bases frontales sur les postes c'est un peu chiant à refaire le chemin mais c'est fait

    Par contre un truc que j'ai remarquer et je voulais savoir si cela était normal. Nous avions commencer à rentrer des données dans la base dorsal et il semblerait que celle ci ai été supprimé quand la base à été déplacer (la personne qui la deplacer connais pas access alors pour supprimer chaque enregistrement c'est sur c'est pas lui).

    Es ce normal que les informations s'effece juste pour un déplacement de la dorsale?

    Maintenant que j'ai vu ce problème j'aimerais un bouton d'action qui me permettent avant de quitter la base d'exporter les données vers un fichiers excel pour permettrent en cas de réitération du problème de l'effacement mystere de pourvoir reimporter les données.

    Es ce possible de faire une action comme celle ci? Avec macro? bouton? les 2?

    Je n'est pas de connaissance en macro si quelqu'un pouvais m'aidez

    D'avance merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 239
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 239
    Points : 555
    Points
    555
    Par défaut
    Salut,

    Moi j'ai un bouton qui me permet de sauver la base dorsale sous le nom que je veux ex : DATA_orig_16_05_2008_.bak

    Voilà

  3. #3
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 162
    Points : 70
    Points
    70
    Par défaut
    Comment sa sauver ta dorsale?

    Moi le seul truc que je veux c'est pouvoir extraire les données de ma base sous format excel mais en laissant les info quand meme dans la base

    juste une sauvgarde sous excel en faite je veux comme sa en cas de problème je peut reimporter mes données

    es ce possible? merci d'avance

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 239
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 239
    Points : 555
    Points
    555
    Par défaut
    Ben oui,
    Si il y a un problème dans les données, je réimporte la ou les tables de ma sauvegarde.

    Je ne vois pas ou est le problème ni pourquoi tu veux en excel?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 239
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 239
    Points : 555
    Points
    555
    Par défaut
    Au fait,

    La moindre des choses c'est de répondre aux posts où tu as une réponse

    Bonjour

    j'aimerais savoir comment pouvoir déplacer la base Dorsale tout en faisant que la frontale continue de fonctionner.

    J'ai essayer en brut de pomme en déplacant directement la drosale mais bien sur après la frontal ne retrouvais plus le chemin.

    Où dois je changer le chemin d'accès à la dorsale dans ma frontal?

    Merci d'avance

  6. #6
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 162
    Points : 70
    Points
    70
    Par défaut
    Et où cela sauve t il ta table dorsale?

    Car c'est cela que je veux faire réimporter mes données en cas de problèmes

    Comment à tu mis en place ce système?

    Merci d'avance

    (désolé pr le post sans réponse j'ai du zapper celui ci)

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 239
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 239
    Points : 555
    Points
    555
    Par défaut
    Salut,

    C'est pas grave, je te préviens que j'y avait répondus.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    Private Sub Cmd_Save_Data_BDD_Click()
        'Sauvegarde de la base des DATA sous Nom_Base_19_05_2008_.bak.mdb
        On Error GoTo err
     
        Dim Msg As String
        Dim fso As Object
        Dim StrCopie As String 'Chemin et nom de la copie BDD DATA
        Dim MyStrDateDay As String
        Dim MyStrDateMonth As String
        Dim MyStrDateYear As String
        Dim NomSaveDATA As String 'Nom du fichier de la sauvegarde modifié dans la boîte de dialogue Input
        Dim VarNameBDD_DATA As String 'Nom de la BDD DATA
        Dim VarNameDriveBDD_DATA As String
        Dim VarNameSaveBDD_DATA As String
     
        MyStrDateDay = Format(Date, "dd") 'Donne le jour
        MyStrDateMonth = Format(Date, "mm") 'Donne le mois
        MyStrDateYear = Format(Date, "yyyy") 'Donne l'année
     
        ' Retrouve le chemin complet de la base attachée
        Dim VarTableAppli As String
        VarTableAppli = "T_Nom_Table"'Mettre le nom d'une table
        VarNameBDD_DATA = GetLinkedDBName(VarTableAppli) 'Va à la function GetLinkedDBName
     
     
        VarNameDriveBDD_DATA = DriveLinkedTable
     
        'Chemin et nom de la Base DATA avec _dd_mm_yyyy
        StrCopie = Left(VarNameBDD_DATA, Len(VarNameBDD_DATA) - 4) & "_" & MyStrDateDay & _
                                                                      "_" & MyStrDateMonth & _
                                                                      "_" & MyStrDateYear & "_" & _
                                                                      ".bak." & Right(VarNameBDD_DATA, 3)
        Dim i As Integer
        Dim X As String
        Dim Path As String
     
            'Boucle pour ne prendre que le Nom de la Base DATA
        For i = Len(StrCopie) To 1 Step -1
            If Mid$(StrCopie, i, 1) = "\" Then Exit For
        Next
     
        NomSaveDATA = Right(StrCopie, Len(StrCopie) - i)
       'Ouvre la boite de dialogue Enregistrer sous de windows
        Dim StrSaveAs As String
        StrSaveAs = EnregistrerUnFichier(Me.hwnd, "Enregistrer Base DATA sous", NomSaveDATA, VarNameDriveBDD_DATA) 'Fonction dans Module
     
       If ChoixSaveAs = False Then Exit Sub
     
        'Vérification de l'existance du fichier dans le dossier
        Dim oFSO As Scripting.FileSystemObject
        Dim oFl As Scripting.File
        Dim MsgFileExist As String
     
        'Instance du FSO
        Set oFSO = New Scripting.FileSystemObject
        'Instance de l'objet File
        If oFSO.FileExists(NomSaveDATA) Then
            MsgFileExist = MsgBox("Ce nom de fichier existe déjà." & vbCrLf & vbCrLf & VarNameDriveBDD_DATA & NomSaveDATA & vbCrLf & vbCrLf & "Voulez-vous continuer?", vbCritical + vbYesNo, "Save DATA")
            If MsgFileExist = vbNo Then
                Exit Sub
            End If
            Set oFl = oFSO.GetFile(NomSaveDATA)
        End If
     
        Set fso = CreateObject("Scripting.FileSystemObject")
        fso.CopyFile VarNameBDD_DATA, NomSaveDATA 'Création de la sauvegarde
        Set fso = Nothing
        Msg = MsgBox("Votre base DATA a été sauvée sous le nom " & vbCrLf & vbCrLf & VarNameDriveBDD_DATA & NomSaveDATA, vbInformation + vbOKOnly, "Save DATA")
     
    fin:
        Exit Sub
    err:
        Select Case err.Number
            Case 53: MsgBox "Le fichier est introuvable"
            Case Else: MsgBox "Erreur inconnue" & err.Number & err.Description
        End Select
    End Sub
     
    Function GetLinkedDBName(TableName As String)
        ' *** ex: GetLinkedDBName ("Nom Table")
        ' *** Drive\Répertoire base de données\Base_de_donnees.mdb
        '
        Dim db As Database, Ret
        On Error GoTo DBNameErr
     
        Set db = CurrentDb()
        Ret = db.TableDefs(TableName).Connect
        'Retire le début de la chaîne (DATABASE=) pour garder Drive\Répertoire base de données\Base_de_donnees.mdb
        GetLinkedDBName = Right(Ret, Len(Ret) - (InStr(1, Ret, "DATABASE=") + 8))
        Exit Function
     
    DBNameErr:
        GetLinkedDBName = 0
    End Function
     
    Function DriveLinkedTable() As String
        ' Retrouve le chemin de la base attachée
        ' ex: Drive\Dossier base de données\
        Dim X As String, i As Integer
        Dim Path As String
        Dim VarTableAppli As String
     
        VarTableAppli = "T_Nom_Table" 'Nom d'une table de l'application
     
        X$ = GetLinkedDBName(VarTableAppli) ''Va à la function GetLinkedDBName
        'Boucle pour ne prendre que le drive et le dossier
        For i = Len(X$) To 1 Step -1
            If Mid$(X$, i, 1) = "\" Then Exit For
        Next
     
        Path$ = Left$(X$, i - 1) & "\"
        DriveLinkedTable = Path$
    End Function
    Fonction (EnregistrerUnFichier) dans un Module

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    Option Compare Database
    Public ChoixSaveAs As Boolean 'Si on choisi Annuler
     'Déclaration de l API
    Private Declare Function GetSaveFileName Lib "comdlg32.dll" _
            Alias "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) _
            As Long
     'Structure du fichier
    Private Type OPENFILENAME
      lStructSize As Long
      hWndOwner As Long
      hInstance As Long
      lpstrFilter As String
      lpstrCustomFilter As String
      nMaxCustFilter As Long
      nFilterIndex As Long
      lpstrFile As String
      nMaxFile As Long
      lpstrFileTitle As String
      nMaxFileTitle As Long
      lpstrInitialDir As String
      lpstrTitle As String
      Flags As Long
      nFileOffset As Integer
      nFileExtension As Integer
      lpstrDefExt As String
      lCustData As Long
      lpfnHook As Long
      lpTemplateName As String
    End Type
     
    Function EnregistrerUnFichier(Handle As Long, Titre As String, _
                        NomFichier As String, Chemin As String) As String
        ChoixSaveAs = True
        'EnregistrerUnFichier est la fonction a utiliser pour ouvrir
        'la boîte de dialogue d'enregistrement d'un fichier.
        'paramètres :
        'Handle = le handle de la fenêtre (Me.Hwnd)
        'Titre = Titre de la boîte de dialogue
        'NomFichier = Nom par défaut du fichier à enregistrer
        'Chemin = Chemin par défaut du fichier à enregistrer
     
        Dim structSave As OPENFILENAME
     
        With structSave
            .lStructSize = Len(structSave)
            .hWndOwner = Handle
            .nMaxFile = 255
            .lpstrFile = NomFichier & String$(255 - Len(NomFichier), 0)
            .lpstrInitialDir = Chemin
            .lpstrFilter = "Tous (*.*)" & Chr$(0) & "*.mdb" & Chr$(0) 'Définition du filtre (aucun)
            .Flags = &H4 'Option de la boite de dialogue
        End With
     
        If (GetSaveFileName(structSave)) Then
            EnregistrerUnFichier = Mid$(structSave.lpstrFile, 1, InStr(1, structSave.lpstrFile, vbNullChar) - 1)
        Else
            ChoixSaveAs = False 'Si on a choisi Annuler
        End If
     
    End Function

    Voilà, je pense que je n'ai rien oublié

    Si tu ne réimporte qu'une table, il faudra effacer l'ancienne, importer celle de la sauvegarde et refaire les relations.

    Le plus simple est de prendre la sauvegarde complète de la base et de la renommer.

    A+

Discussions similaires

  1. Sauvegarder des données dans un fichier depuis une Base de Données
    Par ankou2005 dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 0
    Dernier message: 14/02/2011, 18h51
  2. [MySQL] problème de sauvegarde de données dans la base MySQL
    Par hassen07 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 27/05/2010, 21h58
  3. Sauvegarde des données d'un formulaire en base (mysql)
    Par Paulinho dans le forum Langage
    Réponses: 9
    Dernier message: 01/05/2008, 12h40
  4. Sauvegarde de donnée dans une base dBase ou Paradox
    Par l'Ermite Misanthrope dans le forum C++Builder
    Réponses: 1
    Dernier message: 06/01/2008, 18h02
  5. [Kylix] Sauvegarde de donnée utilisateur....
    Par Eclypse dans le forum EDI
    Réponses: 1
    Dernier message: 11/05/2002, 17h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo