Bouton suppression
Fermé
castours
Messages postés
2955
Date d'inscription
lundi 18 septembre 2006
Statut
Membre
Dernière intervention
31 août 2019
-
23 janv. 2013 à 00:14
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 - 29 janv. 2013 à 22:03
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 - 29 janv. 2013 à 22:03
A voir également:
- Bouton suppression
- Forcer suppression fichier - Guide
- Suppression page word - Guide
- Suppression compte instagram - Guide
- Réinitialiser chromecast sans bouton - Guide
- Suppression compte facebook - Guide
6 réponses
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
23 janv. 2013 à 08:20
23 janv. 2013 à 08:20
Bonjour castours,
Il faut être certain que tous les champs de l'enregistrement ne proviennent que d'une seule table .. il te faut l'id .. et par conséquent .. le supprimer.
Si cet enregistrement provient de plusieurs table .. c'est plus fastidieux. Il faut s'assurer de supprimer chaque enregistrement de chaque table SI et seulement SI l'enregistrement de la table X n'est pas utilisé par un autre enregistrement OU pourrait être utilisé par un autre enregistrement.
Il faut être certain que tous les champs de l'enregistrement ne proviennent que d'une seule table .. il te faut l'id .. et par conséquent .. le supprimer.
Si cet enregistrement provient de plusieurs table .. c'est plus fastidieux. Il faut s'assurer de supprimer chaque enregistrement de chaque table SI et seulement SI l'enregistrement de la table X n'est pas utilisé par un autre enregistrement OU pourrait être utilisé par un autre enregistrement.
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
26 janv. 2013 à 08:40
26 janv. 2013 à 08:40
Bonjour castours,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
D'abord faire une requête de sélection .. tu la convertira en requête de suppression uniquement si c'est ce résultat que tu attends !!!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
D'abord faire une requête de sélection .. tu la convertira en requête de suppression uniquement si c'est ce résultat que tu attends !!!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DELETE table1.Id AS Id1, table1.Nom AS Nom1, table2.Id AS Id2, table2.ref_table1Id AS ref_Id1, table2.Nom AS Nom2, table2.ref_table1Id FROM table1 RIGHT JOIN table2 ON table1.Id = table2.ref_table1Id WHERE (((table2.ref_table1Id)=1));
castours
Messages postés
2955
Date d'inscription
lundi 18 septembre 2006
Statut
Membre
Dernière intervention
31 août 2019
217
26 janv. 2013 à 10:50
26 janv. 2013 à 10:50
Bonjour
J'ai essayé ceci dans un bouton commande
Mais une erreur de compil
Sub ou fonction nom defini
Ca bloque sur la condition Where
Sub Cde_Supprime_Click()
'DoCmd.Delete ' UtilisateursClique.Nom, UtilisateursClique.Prénom, MembresClique.[Actif]
DoCmd.RunSQL "Delete FROM UtilisateursClique AS idUtilisateurs,UtilisateursClique.Nom AS Nom,UtilisateursClique.Prénom AS Prénom RIGHT JOIN MembresClique ON UtilisateursClique.idUtilisateurs=MembresClique.idUtilisateurs"
WHERE MembresClique.IdMembres.[Actif] = 1
End Sub
J'ai essayé ceci dans un bouton commande
Mais une erreur de compil
Sub ou fonction nom defini
Ca bloque sur la condition Where
Sub Cde_Supprime_Click()
'DoCmd.Delete ' UtilisateursClique.Nom, UtilisateursClique.Prénom, MembresClique.[Actif]
DoCmd.RunSQL "Delete FROM UtilisateursClique AS idUtilisateurs,UtilisateursClique.Nom AS Nom,UtilisateursClique.Prénom AS Prénom RIGHT JOIN MembresClique ON UtilisateursClique.idUtilisateurs=MembresClique.idUtilisateurs"
WHERE MembresClique.IdMembres.[Actif] = 1
End Sub
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
26 janv. 2013 à 11:39
26 janv. 2013 à 11:39
Je recommence car j'ai fait une groooosse erreur. Mille excuses.
Fait une copie de ta base de données avant avant d'utiliser cette requête !!!
!!! MembresClique.IdMembres.[Actif] !!!
est à remplacer par le NomDeLaTable.NomDuChamp
** rien d'autre **
Fait une copie de ta base de données avant avant d'utiliser cette requête !!!
DELETE NomDeLaTableDontLesEnregistrementsVontEtreSupprimé.* FROM UtilisateursClique RIGHT JOIN MembresClique ON UtilisateursClique.idUtilisateurs=MembresClique.idUtilisateurs WHERE MembresClique.IdMembres.[Actif] = 1
!!! MembresClique.IdMembres.[Actif] !!!
est à remplacer par le NomDeLaTable.NomDuChamp
** rien d'autre **
castours
Messages postés
2955
Date d'inscription
lundi 18 septembre 2006
Statut
Membre
Dernière intervention
31 août 2019
217
26 janv. 2013 à 16:07
26 janv. 2013 à 16:07
Heliotte
Merci pour ton aide
Comme je ne comprends pas tout, je te mets mes deux tables et le formulaire
Dans ce lien
https://www.cjoint.com/c/CAAqb1v0jTl
Dans le formulaire , je choisis 2 ou 3 lignes puis le bouton effface
C'est ce que j'essaie de realiser.
Le Bouton est vide de code
Merci pour ton aide
Comme je ne comprends pas tout, je te mets mes deux tables et le formulaire
Dans ce lien
https://www.cjoint.com/c/CAAqb1v0jTl
Dans le formulaire , je choisis 2 ou 3 lignes puis le bouton effface
C'est ce que j'essaie de realiser.
Le Bouton est vide de code
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
26 janv. 2013 à 19:20
26 janv. 2013 à 19:20
Bonsoir castours,
Je n'ai que Access2003 .. est-il possible de le convertir dans cette version avec Access2007 ?
Si oui, veux-tu bien le faire et le reposter ?
Si non, me donner la structure des deux tables, leurs liaison, quelques enregistrements et un print srceen du formulaire .. j'essaierai de me débrouiller avec ça ..
Je n'ai que Access2003 .. est-il possible de le convertir dans cette version avec Access2007 ?
Si oui, veux-tu bien le faire et le reposter ?
Si non, me donner la structure des deux tables, leurs liaison, quelques enregistrements et un print srceen du formulaire .. j'essaierai de me débrouiller avec ça ..
castours
Messages postés
2955
Date d'inscription
lundi 18 septembre 2006
Statut
Membre
Dernière intervention
31 août 2019
217
26 janv. 2013 à 20:41
26 janv. 2013 à 20:41
Voila l'exemple en 2003
https://www.cjoint.com/c/CAAuN06OzCY
https://www.cjoint.com/c/CAAuN06OzCY
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
27 janv. 2013 à 13:06
27 janv. 2013 à 13:06
Bonjour castours et bon dimanche,
Je viens de regarder la base de données. Je ne sait pas sur quel critères tu t'es basé pour créer les deux tables .. mais si j'en crois mon rapide coup d'oeil, tu ne devrais n'avoir qu'une seule table :
- à un T_UtilisateursClique correspond une et une seule Désignation.
ET
- à un T_UtilisateursClique correspond un et un seul Actif (vrai ou faux / Oui ou Non).
Si c'est la cas, tu ne dois pas te compliquer la vie pour rien et tu peux inclure les champs de la table T_MembresClique dans la table T_UtilisateursClique.
Donne-moi les règles pour les deux champs précités (Désignation et Actif).
Je viens de regarder la base de données. Je ne sait pas sur quel critères tu t'es basé pour créer les deux tables .. mais si j'en crois mon rapide coup d'oeil, tu ne devrais n'avoir qu'une seule table :
- à un T_UtilisateursClique correspond une et une seule Désignation.
ET
- à un T_UtilisateursClique correspond un et un seul Actif (vrai ou faux / Oui ou Non).
Si c'est la cas, tu ne dois pas te compliquer la vie pour rien et tu peux inclure les champs de la table T_MembresClique dans la table T_UtilisateursClique.
Donne-moi les règles pour les deux champs précités (Désignation et Actif).
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
castours
Messages postés
2955
Date d'inscription
lundi 18 septembre 2006
Statut
Membre
Dernière intervention
31 août 2019
217
Modifié par castours le 27/01/2013 à 14:39
Modifié par castours le 27/01/2013 à 14:39
Bonjour
Comme c'est uhne gestion de membre associatif, il se peut qu'il est plusieurs fonctions a des dates differentes. Voila mon raisonnement.
Cordialement
Comme c'est uhne gestion de membre associatif, il se peut qu'il est plusieurs fonctions a des dates differentes. Voila mon raisonnement.
Cordialement
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
27 janv. 2013 à 19:05
27 janv. 2013 à 19:05
Bonsoir castours,
Autrement dit, tu veux garder l'historique.
Ok
J'ai oublier de te donner le lien https://docs.microsoft.com/fr-fr/office/troubleshoot/access/retrieve-items-in-multiple-selection-list-box
Microsoft y parle des éléments sélectionnés .. comment le récupérer
Autrement dit, tu veux garder l'historique.
Ok
J'ai oublier de te donner le lien https://docs.microsoft.com/fr-fr/office/troubleshoot/access/retrieve-items-in-multiple-selection-list-box
Microsoft y parle des éléments sélectionnés .. comment le récupérer
castours
Messages postés
2955
Date d'inscription
lundi 18 septembre 2006
Statut
Membre
Dernière intervention
31 août 2019
217
27 janv. 2013 à 21:35
27 janv. 2013 à 21:35
Je viens de trouver ce lien sur le sujet.
http://www.info-3000.com/access/requetesuppression/requetesuppression.php
http://www.info-3000.com/access/requetesuppression/requetesuppression.php
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
28 janv. 2013 à 08:35
28 janv. 2013 à 08:35
Bonjours castours,
J'ai regardé au lien .. pas mal du tout !
Merci beaucoup.
J'ai regardé au lien .. pas mal du tout !
Merci beaucoup.
castours
Messages postés
2955
Date d'inscription
lundi 18 septembre 2006
Statut
Membre
Dernière intervention
31 août 2019
217
28 janv. 2013 à 22:58
28 janv. 2013 à 22:58
Bonjour
J'ai reussi a faire fonctionné le bouton grace au forum de self access
Voic le code
Dim i As Variant, SQL As String
For Each i In Me.Zlist.ItemsSelected
SQL = "DELETE * FROM [T_MembresClique] WHERE [IdMbre] = " & Me.Zlist.ItemData(i)
CurrentDb.Execute SQL
SQL = "DELETE * FROM [T_UtilisateursClique] WHERE [IdUtil] = " & Me.Zlist.ItemData(i)
CurrentDb.Execute SQL
Next
End Sub
J'ai reussi a faire fonctionné le bouton grace au forum de self access
Voic le code
Dim i As Variant, SQL As String
For Each i In Me.Zlist.ItemsSelected
SQL = "DELETE * FROM [T_MembresClique] WHERE [IdMbre] = " & Me.Zlist.ItemData(i)
CurrentDb.Execute SQL
SQL = "DELETE * FROM [T_UtilisateursClique] WHERE [IdUtil] = " & Me.Zlist.ItemData(i)
CurrentDb.Execute SQL
Next
End Sub
castours
Messages postés
2955
Date d'inscription
lundi 18 septembre 2006
Statut
Membre
Dernière intervention
31 août 2019
217
29 janv. 2013 à 22:03
29 janv. 2013 à 22:03
Bonjour Heliotte
J'aii le code dans le bouton mais access affiche erreur de syntaxe mais efface quande la ligne selectionnée
Voici le code
For Each i In Me.Zlist.ItemsSelected
'BLOQUE ICI SUR LA CONDITION WHERE.Dans le message [IdMbre]= ETAIT MENTIONNE
Les Id Sont Numerique Est la bonne syntaxe
SQL = "DELETE * FROM [T_MembresClique] WHERE [IdMbre] = " & Me.Zlist.ItemData(i)
CurrentDb.Execute SQL
'CurrentDb.Execute SQL
SQL = "DELETE * FROM [T_UtilisateursClique] WHERE [IdUtil] = " & Me.Zlist.ItemData(i)
CurrentDb.Execute SQL
Next
Merci de ton aide
J'aii le code dans le bouton mais access affiche erreur de syntaxe mais efface quande la ligne selectionnée
Voici le code
For Each i In Me.Zlist.ItemsSelected
'BLOQUE ICI SUR LA CONDITION WHERE.Dans le message [IdMbre]= ETAIT MENTIONNE
Les Id Sont Numerique Est la bonne syntaxe
SQL = "DELETE * FROM [T_MembresClique] WHERE [IdMbre] = " & Me.Zlist.ItemData(i)
CurrentDb.Execute SQL
'CurrentDb.Execute SQL
SQL = "DELETE * FROM [T_UtilisateursClique] WHERE [IdUtil] = " & Me.Zlist.ItemData(i)
CurrentDb.Execute SQL
Next
Merci de ton aide
23 janv. 2013 à 17:04
Merci de m'avoir repndu
Oui, j'ai deux tables qui sont liées de un à plusieurs.
C'est dans la 2 eme qui me sert de selection par un oui non pour supprimmer les enregistrements de la premiere.
Dans un formulaire, puis dans liste independante à selection multiple, j'ai les enregistrements a supprimer. Je selectionne ceux qui m'interesse que je voudrai supprimer par le bouton.
Peux tu, si tu le veux me traduire cela en VBA pour le bouton de suppression.
Je te remercie
25 janv. 2013 à 09:06
Si je comprends bien, ce sont les éléments de la table 2 (multi) qui, quand ils sont sélectionnés, te disent, il faut supprimer / il ne faut pas supprimer.
En général, c'est dans l'autre sens que l'on fait les actions.
Admettons :
Un enregistrement de la table 1 correspond les enregistrements de la table 2 .. exemple:
1 .. 1, 5, 6, 18, 20.
2 .. 2, 4, 7, 8, 9, 12, 13, 14, 15, 17.
3 .. 3, 11, 16.
4 .. 10, 19.
5 .. 21, 22.
Les nombres en gras sont ceux que tu as sélectionnés dans ta liste.
Table1, enregistrement 1 :: table2, enregistrement 6.
Le seul enregistrement susceptible d'être supprimé est table1, enregistrement 4 avec les enregistrements 10 et 19 de la table 2.
Q.: Il faut comprendre qu'il y aura des orphelins .. ou bien, il faut également supprimer tous les enregistrements de la table2 dont la clef correspond à l'Id de la table 1 ?
25 janv. 2013 à 18:27
Merci de ta reponse
C'est bien ce que je veux faire. Effacer l'id de la table 1 qui entraine la table 2 par le relation un a plusieurs. C'est cela que j'essaie de faire.
25 janv. 2013 à 18:46
Pour supprimer un enregistrement de la table 1, il faut d'abord récupéré son identifiant (Id) et commencer par supprimer tous les enregistrements de la table 2 contenant la clé secondaire égale à l'identifiant de la table 1.
Une fois ces enregistrements supprimés, il ne reste plus qu'à supprimé l'enregistrement dont l'identifiant est Id de la table 1.
Connais-tu l'identifiant de l'enregistrement de la première table ou dois-tu le retrouver par le code ?
25 janv. 2013 à 19:25
J'ai un champs oui nom qui me permet de faire la selection des enregistrements a effecer