Supprimer un enregistrement dans une bd access avec DAO/Access

beegeezzz Messages postés 152 Date d'inscription mardi 4 novembre 2008 Statut Membre Dernière intervention 10 avril 2017 - 29 déc. 2008 à 16:25
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 30 déc. 2008 à 09:00
Bonjour tout le monde,


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


Pour cela, j'utilise ce code :

Code :
PrivateSub commandSupprimerUneRecette_Click(Index AsInteger)
Dim ASupprimer, Prochain AsVariant
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

EndSub

Le problème, c'est que rien ne s'efface.


Voici le code pour l'ouverture de la table :

Code :
PublicFunction BDOuvrirTable(ByVal NomTable AsString, OptionalByVal LectureSeule AsBoolean = False)As Recordset
Set BDOuvrirTable = BD.OpenRecordset(NomTable, IIf(LectureSeule, dbOpenSnapshot, dbOpenDynaset))
EndFunction

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

2 réponses

LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
29 déc. 2008 à 17:29
Bonjour,


Pourquoi ne pas y aller franchement ?


De toute façon ,dans le cas de Delete ton recordset doit être Dynamique.


Set rsSuppression== BD.OpenRecordset("SELECT * FROM recette",dbOpenDynaset)


Mais un recordset qui est égal à un autre,  jamais vu !








 





<hr />




[] Ce qui va sans dire. va mieux en le disant.


<hr />
0
Rejoignez-nous