Vider une base de donnée !

rex - 23 juin 2001 à 02:28
rodrigue62 Messages postés 190 Date d'inscription vendredi 18 février 2005 Statut Membre Dernière intervention 10 janvier 2011 - 4 mai 2006 à 14:40
Salut,

Je souhaiterais juste savoir si il met possible d'effacer le contenu d'une base de données access et ce à partir de mon programme?

Si oui, quel est l'instruction que je peux utiliser.

Merci d'avance...

2 réponses

Essaie un truc comme ceci:

  Dim iCmpt As Integer
  Dim MyDB As Database
  Dim SQLQry As String
  Dim iNbr1 As Integer
  Dim sTblCour As String

  Set MyDB = DBEngine.OpenDatabase("C:\bd1.mdb", True, False)  
  iNbr1 = MyBD.TableDefs.Count - 1
  
  For iCmpt = 0 To iNbr1
    sTblCour = MyBD.TableDefs(iCmpt).Name
    ' Les noms commencant par "MSys" sont des tables systèmes de Access
    If (StrComp(Left$(sTblCour, 4), "MSys", vbTextCompare) <> 0) Then
        SQLQry = "DELETE * FROM " & sTblCour & ";"
        MyDB.Execute SQLQry, dbFailOnError
      'Else
    End If
  Next iCmpt

  MyDB.Close


J'ai pas testé le code mais ça devrait te mettre sur le chemin.

n'oublie pas d'insérer une référence à "Microsoft DAO 3.x Object Library"
0
rodrigue62 Messages postés 190 Date d'inscription vendredi 18 février 2005 Statut Membre Dernière intervention 10 janvier 2011
4 mai 2006 à 14:40
bonjour,
est il possible d'effacer dans les tables les enregistrement ayant un certains nombre d'année, par exemple ayant plus de 3ans. En fait on peux trouver ces enregistrement en faisant année(date())-3, mais apres coment effacer toutes les données de la base de donnée entiere (dans toutes les tables) y correspondant, et ce sans toucher aux autres enregistrement. J'ai entendu parler de requetes de suppression mais je sais pas bien comment ca marche et si c'est adapté dans mon cas.
0
Rejoignez-nous