Supprimer enregistrement ACCESS [Résolu]

Gagou_c 65 Messages postés mercredi 18 août 2004Date d'inscription 31 janvier 2006 Dernière intervention - 28 déc. 2004 à 10:10 - Dernière réponse : gandalflegris007 211 Messages postés lundi 31 mars 2003Date d'inscription 11 juin 2007 Dernière intervention
- 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
Afficher la suite 

14 réponses

gandalflegris007 211 Messages postés lundi 31 mars 2003Date d'inscription 11 juin 2007 Dernière intervention - 28 déc. 2004 à 14:30
+3
Utile
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 ...
Cette réponse vous a-t-elle aidé ?  
gandalflegris007 211 Messages postés lundi 31 mars 2003Date d'inscription 11 juin 2007 Dernière intervention - 28 déc. 2004 à 10:17
0
Utile
Salut Gagou_c,

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

Guich
cs_bouf 114 Messages postés lundi 6 septembre 2004Date d'inscription 20 mars 2008 Dernière intervention - 28 déc. 2004 à 10:28
0
Utile
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
Gagou_c 65 Messages postés mercredi 18 août 2004Date d'inscription 31 janvier 2006 Dernière intervention - 28 déc. 2004 à 10:35
0
Utile
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 ?
Gagou_c 65 Messages postés mercredi 18 août 2004Date d'inscription 31 janvier 2006 Dernière intervention - 28 déc. 2004 à 10:38
0
Utile
Dernier message à l'attention de gandalflegris007
Gagou_c 65 Messages postés mercredi 18 août 2004Date d'inscription 31 janvier 2006 Dernière intervention - 28 déc. 2004 à 10:40
0
Utile
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.
cs_bouf 114 Messages postés lundi 6 septembre 2004Date d'inscription 20 mars 2008 Dernière intervention - 28 déc. 2004 à 10:49
0
Utile
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
gandalflegris007 211 Messages postés lundi 31 mars 2003Date d'inscription 11 juin 2007 Dernière intervention - 28 déc. 2004 à 11:13
0
Utile
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
Gagou_c 65 Messages postés mercredi 18 août 2004Date d'inscription 31 janvier 2006 Dernière intervention - 28 déc. 2004 à 13:24
0
Utile
ça ne marche pas.
Eske ça viendrai de mon formulaire ? c'est un affichage tabulaire.
gandalflegris007 211 Messages postés lundi 31 mars 2003Date d'inscription 11 juin 2007 Dernière intervention - 28 déc. 2004 à 13:41
0
Utile
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 ?
Gagou_c 65 Messages postés mercredi 18 août 2004Date d'inscription 31 janvier 2006 Dernière intervention - 28 déc. 2004 à 14:05
0
Utile
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.
gandalflegris007 211 Messages postés lundi 31 mars 2003Date d'inscription 11 juin 2007 Dernière intervention - 28 déc. 2004 à 14:28
0
Utile
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
Gagou_c 65 Messages postés mercredi 18 août 2004Date d'inscription 31 janvier 2006 Dernière intervention - 28 déc. 2004 à 15:49
0
Utile
merci pour tout, ça marche, j'aurais peut etre besoin de d'autre conseil, je débute avec access ;)
gandalflegris007 211 Messages postés lundi 31 mars 2003Date d'inscription 11 juin 2007 Dernière intervention - 28 déc. 2004 à 16:03
0
Utile
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.