Bonjour tout le monde,

J'aimerais supprimer un enregistrement de ma base de données.

Pour cela, j'utilise ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub commandSupprimerUneRecette_Click(Index As Integer)
    Dim ASupprimer, Prochain As Variant
    Dim rsSuppression As Recordset
    Set rsSuppression = BDOuvrirTable("SELECT * FROM recette")
    ASupprimer = rsSuppression.Bookmark
    rsSuppression.MoveNext
    Prochain = rsSuppression.Bookmark
    rsSuppression.Bookmark = ASupprimer
    rsSuppression.Delete
    rsSuppression.Bookmark = Prochain
 
    RemplirListeRecettes 'j'appelle RemplirListeRecettes pour faire un refresh de la liste des recettes
 
End Sub
Le problème, c'est que rien ne s'efface.

Voici le code pour l'ouverture de la table :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Public Function BDOuvrirTable(ByVal NomTable As String, Optional ByVal LectureSeule As Boolean = False) As Recordset
    Set BDOuvrirTable = BD.OpenRecordset(NomTable, IIf(LectureSeule, dbOpenSnapshot, dbOpenDynaset))
End Function
Je mets bien sûr "lecture seule" à faux (en ne passant aucun paramètre, il prend par défaut false).

J'utilise DAO avec VB6 et Access.

Sauriez-vous aussi me dire si il est possible dans la fenêtre d'exécution (déboguage) de connaître la valeur de BDOuvrirTable ?

Merci d'avance pour l'aide.

beegees