Supprimer enregistrement ACCESS

Résolu
Gagou_c
Messages postés
65
Date d'inscription
mercredi 18 août 2004
Statut
Membre
Dernière intervention
31 janvier 2006
- 28 déc. 2004 à 10:10
gandalflegris007
Messages postés
211
Date d'inscription
lundi 31 mars 2003
Statut
Membre
Dernière intervention
11 juin 2007
- 28 déc. 2004 à 16:03
Bonjour,
J'ai mis le bout de code suivant pour supprimer un enregistrement à partir d'un formulaire :

DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdDeleteRecord

Mais lorsque je clique sur mon bouton Supprimer le message suivant apparait :
"La commande ou l'action 'SupprimerEnregistrement' n'est pas disponible pour l'instant".

Est-ce que ça vous dis quelquechose ?

Pour info, je bosse avec ACCESS 2003.
Merci

14 réponses

gandalflegris007
Messages postés
211
Date d'inscription
lundi 31 mars 2003
Statut
Membre
Dernière intervention
11 juin 2007

28 déc. 2004 à 14:30
Même

DoCmd.RunSQL "DELETE CONTACT.* from CONTACT WHERE CONTACT.Nom = '" & Me!Nom.Value & "';"


d'ailleurs : il faut les ' de chaque côté de la variable.

Désolé, mais les lendemain de fêtre sont durs ...
3
gandalflegris007
Messages postés
211
Date d'inscription
lundi 31 mars 2003
Statut
Membre
Dernière intervention
11 juin 2007

28 déc. 2004 à 10:17
Salut Gagou_c,

essaie plutot un truc du genre : DoCmd.RunSQL "DELETE * from NOMTABLE WHERE NOMTABLE.TonChamp=TaValeur ;"

Guich
0
cs_bouf
Messages postés
114
Date d'inscription
lundi 6 septembre 2004
Statut
Membre
Dernière intervention
20 mars 2008

28 déc. 2004 à 10:28
Salut, je pense que cela ne fonctionne pas parce que l'enregistrement est ouvert lorsque tu veux l'effacer. il faut le fermer avant.
si tu travailles directement en access essaie ce code sur le bouton :

Private Sub Commande0_Click()
On Error GoTo Err_Commande0_Click
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
Exit_Commande0_Click:
Exit Sub
Err_Commande0_Click:
MsgBox Err.Description
Resume Exit_Commande0_Click
End Sub

sinon, si tu bosses en VB, utilise les recordsets CAD la vrai gestion de base de donnée. C'est un peu plus complexe mais c'est comme ça qu'on apprend.
a+
Cliff le bouffeur :-p
0
Gagou_c
Messages postés
65
Date d'inscription
mercredi 18 août 2004
Statut
Membre
Dernière intervention
31 janvier 2006

28 déc. 2004 à 10:35
ben en fait je bosse à partir d'un formulaire, donc avec ta méthode il faudrait ke je passe pas l'Enregistrement Courant, mais je débute avec Access donc j'ai bien du mal !!
Qu'est ce que tu me propose comme solution ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Gagou_c
Messages postés
65
Date d'inscription
mercredi 18 août 2004
Statut
Membre
Dernière intervention
31 janvier 2006

28 déc. 2004 à 10:38
Dernier message à l'attention de gandalflegris007
0
Gagou_c
Messages postés
65
Date d'inscription
mercredi 18 août 2004
Statut
Membre
Dernière intervention
31 janvier 2006

28 déc. 2004 à 10:40
ton bout de code c'est le code que j'avais à l'origine et ki ne marche pas, je ne comprend pas pkoi d'ailleurs.
0
cs_bouf
Messages postés
114
Date d'inscription
lundi 6 septembre 2004
Statut
Membre
Dernière intervention
20 mars 2008

28 déc. 2004 à 10:49
Essai ce bout de code que je t'ai envoyé en allant sur ton formulaire en mode création, choisi bouton dans la barre d'outils
avec l'assistant, choisi opération sur enregistrement puis supprimer un enregistrement, choisi ensuite l'img et son nom et voila qu'il est fait.
si tu va dans les propriété de ce bouton, dans les évèmenents sur click (CAD sur le prog) tu verras qu'il a écrit le code que je t'ai envoyé. Si l'assistant ne fonctionne pas, alors copie le code dans les évèmenents sur click (CAD sur le prog) et nomme ton bouton comme dans le prog ou modifie le prog pour que le nom soit le même.
a+
Cliff le bouffeur :-p
0
gandalflegris007
Messages postés
211
Date d'inscription
lundi 31 mars 2003
Statut
Membre
Dernière intervention
11 juin 2007

28 déc. 2004 à 11:13
La méthode de bouf est bien aussi,

mais si tu veux passer en SQL :
admettons que tu veux supprimer l'enregistrement de la table nommée Table1, ayant un champ Nom1 unique, que ton formulaire affiche ce nom dans le contrôle Text1 alors la commande est :
DoCmd.RunSQL "DELETE * FROM Table1 WHERE Table1.Nom1 = '" & me!Text1.Value & "' ;"


Ca devrait tourner ...

Guich
0
Gagou_c
Messages postés
65
Date d'inscription
mercredi 18 août 2004
Statut
Membre
Dernière intervention
31 janvier 2006

28 déc. 2004 à 13:24
ça ne marche pas.
Eske ça viendrai de mon formulaire ? c'est un affichage tabulaire.
0
gandalflegris007
Messages postés
211
Date d'inscription
lundi 31 mars 2003
Statut
Membre
Dernière intervention
11 juin 2007

28 déc. 2004 à 13:41
Si tu fais un msgbox me!Text1.Value, est-ce qu'il t'affiche la donnée telle qu'elle est écrite dans la table ?
0
Gagou_c
Messages postés
65
Date d'inscription
mercredi 18 août 2004
Statut
Membre
Dernière intervention
31 janvier 2006

28 déc. 2004 à 14:05
oui il m'affiche bien la valeur de l'enregistrement courant avec le msgbox , mais quand je lui met la ligne de code :

DoCmd.RunSQL "DELETE * from CONTACT WHERE CONTACT.Nom = "  & Me!Nom.Value & ";"


il m'affiche une boite dialogue en me demandant un paramètre, moi je voudrais juste kil demande confirmation.
0
gandalflegris007
Messages postés
211
Date d'inscription
lundi 31 mars 2003
Statut
Membre
Dernière intervention
11 juin 2007

28 déc. 2004 à 14:28
Autant pour moi, c'est mon code qui est foireux :

 DoCmd.RunSQL "DELETE CONTACT.* from CONTACT WHERE CONTACT.Nom = " & Me!Nom.Value & ";"


ça devrait aller mieux
0
Gagou_c
Messages postés
65
Date d'inscription
mercredi 18 août 2004
Statut
Membre
Dernière intervention
31 janvier 2006

28 déc. 2004 à 15:49
merci pour tout, ça marche, j'aurais peut etre besoin de d'autre conseil, je débute avec access ;)
0
gandalflegris007
Messages postés
211
Date d'inscription
lundi 31 mars 2003
Statut
Membre
Dernière intervention
11 juin 2007

28 déc. 2004 à 16:03
Pas de problème, on est là pour ça.

avec les yeux en face des trous ça va même plus vite pour donner des réponses fiables ....

Guich
0