Suppresion des enregistrements d'une table access [Résolu]

Signaler
Messages postés
3
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
18 août 2010
-
Messages postés
3
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
18 août 2010
-
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

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
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)
Messages postés
3
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
18 août 2010

salut

Je vous remercie ça marche