Suppresion des enregistrements d'une table access

Résolu
harvouj Messages postés 3 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 18 août 2010 - 16 août 2010 à 11:31
harvouj Messages postés 3 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 18 août 2010 - 18 août 2010 à 15:51
Bonjour,

Je suis actuellement en stage et je développe une application avec vb6. En cliquant sur un bouton de commande je veux supprimer des enregistrements de ma table selon les valeurs qui existent dans un tableau.
Je sais pas si je dois utiliser un record set ou la table.

j'ai essayé ce code mais rien ne change dans ma table

Private Sub cmd_maj_Click()
Set maj = New ADODB.Recordset
maj.Open " select * from copie ", cnx, adOpenKeyset, adLockBatchOptimistic
For i = 0 To lig - 1
   If montableau(8, i) = "suppression citerne" Then
        maj.MoveFirst
        
        Do Until maj.EOF
            num = maj.Fields("numero")
            If (num = montableau(0, i)) Then
                maj.Delete
            End If
        maj.MoveNext
        Loop
End If
Next i
maj.Close
 
End Sub



Je vous remercie.

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
16 août 2010 à 15:53
Salut
Après avoir supprimé tes enregistrements dans le RecordSet, il faut faire un .Update afin que les données redescendent dans la table, bien sûr, avant de le refermer.

D'autres méthodes de suppression existent, comme les requètes SQL - dans ton cas, pas forcément plus pratique :
    Dim maListe As String
    Dim sSQL    As String
    Dim maVar   As Long
    maListe =  "18,42,58,4012"  ' liste des numéros comme ceux de montableau(0, i)
    sSQL = "Delete From maTable Where monChamp In (" & maListe & ")"
    maConnexion.Execute sSQL, maVar
    MsgBox CStr(maVar) & " enregistrements supprimés."

PS : Si tu es dans le VB de Access (ce que je pense), tu ne fais pas de VB6, mais du VBA. C'est très important de choisir la bonne catégorie de question; les réponses pouvant varier.

Vala
Jack, =fr MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
2
harvouj Messages postés 3 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 18 août 2010
18 août 2010 à 15:51
salut

Je vous remercie ça marche
0
Rejoignez-nous