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

Access Discussion :

compactage d'une base en cours


Sujet :

Access

  1. #1
    Membre à l'essai
    compactage d'une base en cours
    Bonjour à tous,
    j'ai créer une petite base d'essai :
    une table avec un numéro auto
    une requête pour effacer les enregistrements de la table
    un formulaire avec un bouton de commande qui pour l'instant fonctionne bien pour l'effacement des données mais je voudrai ensuite compacter la base afin que le numéro auto redémarre à 1 sans être obliger de fermer la base et de la rouvrir manuellement.
    j'aimerais placer un code à la suite de celui qu'il y a pour exécuter la requête.
    je joint mon fichier d'essai.
    merci à tous pour vos réponse.

  2. #2
    Expert éminent
    bonjour,
    plutôt que passer par un compactage très long et compliqué, le plus simple c'est de partir d'une copie de la table vide qui servira de modèle:
    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
    Private Sub Commande0_Click()
    On Error GoTo Err_bini_Click
     
        'RAZ du concours
        Dim rr As Variant
        rr = MsgBox("voulez-vous confirmer l'initialisation ?", 1)
        If rr = vbOK Then
        ' inactive les messages de confirmation système
            DoCmd.SetWarnings False
     
            DoCmd.DeleteObject acTable, "client"
            DoCmd.CopyObject , "client", acTable, "client_modele"
            DoCmd.SetWarnings True
            MsgBox ("Initialisation terminée")
     
            DoCmd.Close
        End If
     
    Exit_bini_Click:
        Exit Sub
     
    Err_bini_Click:
        MsgBox Err.Description
        Resume Exit_bini_Click
     
    End Sub
    la base modifiée:
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...

  3. #3
    Membre à l'essai
    Merci pour votre réponse, j'ai adapté le code pour ma base de donnée, cela fonctionne parfaitement.