1 membre
Connectés : ( personne )
- La Charte du Forum - Forum - Questions générale
Sujet n° 658 |
Bouton delete |
le 26/01/2013 : 23:27 par castours
visiteur |
Bonjour Dans un formulaire, j'ai une liste multicriteres faite avec 2 tables avec une requete. Relation 1 a plusieurs entre la Table 1 et la table 2. Avec un bouton delete, je voudrai supprimer les enregistrements selectionnés. Mes connaissances de VBA sont trés reduites , pouvez vous m'aider a realiser cette commande delete. Je vous remercie de votre aide |
|
|
Réponse n° 1 -------- le 26/01/2013 : 23:59 par 3Stone
Administrateur
|
Bonjour,
Pour cela, il faut que soit disponible l'identifiant des enregistrements. C'est souvent un identifiant caché en première colonne (largeur de la colonne à zéro).
Ensuite, puisque la source est composée de deux tables, l'action supprimera l'enregistrement du coté "1" et tous les enregistrements du coté "plusieurs". Mais, il faut d'abord supprimer ceux coté plusieurs, puis coté 1. Coté 1, l'ID est probablement clé primaire, alors que coté plusieurs l'ID sera clé externe.
CurrentDb.Execute "Delete * from T_Plusieurs Where IDext=" & LaListe CurrentDb.Execute "Delete * from T_Un Where ID=" & LaListe
devrait alors faire ce que tu souhaites. Il reste à actualiser le formulaire par un Me.Requery
Dis-moi...
Cordialement, Pierre(3stone) |
|
|
Réponse n° 2 -------- le 27/01/2013 : 14:00 par 3Stone
Administrateur
|
Merci de répondre sur le forum...
Cordialement, Pierre(3stone) |
|
|
Réponse n° 3 -------- le 27/01/2013 : 20:03 par castours
visiteur |
Bonjour
Dans ce lien je te mets l'exempleque je voudrai réaliser, soi en acces 2003 ou en access 2007
Le bouton est vide code
J'ai esayé les lignes que tu m'avais envoyé mais erreur de synthaxe.
http://cjoint.com/?CAAuN06OzCY
Je te remercie de ton aide
Cordialement |
|
|
Réponse n° 4 -------- le 28/01/2013 : 16:44 par 3Stone
Administrateur
|
Bonjour,
Comme je l'avais expliqué :
Citation : 3stone
Mais, il faut d'abord supprimer ceux coté plusieurs, puis coté 1.
Coté 1, l'ID est probablement clé primaire, alors que coté plusieurs l'ID sera clé externe.
Mon exemple... était juste un exemple
Il faut adapter en pointant la colonne de la liste, ce qui se fait par:
Me.LaListe.Column(x) - ou x énumère les colonnes de 0 à n.
Mais, en regardant ta petit base jointe, je ne comprends pas l'organisation, ni tes besoins
En effet, ta jointure est réalisée sur idUtilisateurs et n'apparait qu'une fois des deux cotés.
-
A quoi sert cette liaison 1 à plusieurs ?
-
Un même membre peut-il avoir plusieurs "qualifications" que tu désigne par "Désignation" dans la table T_MembresClique ?
Quelque soit la réponse, il manque une table Qualification pour ne pas répéter cette qualification à chaque fois. Dans cette table n'apparait alors qu'une seule fois les différentes qualification et on enregistre ensuite que l'id de cette qualification.
Autre problème est la case "Actif" qui ne devrait pas se trouver dans cette table si l'on parle de l'activité d'un membre.
Idéalement, il faudrait appliquer le même raisonnement pour le "CodePostal" et la "Ville" qui pourrait se retrouver dans une table T_Villes qui contiendrait les champs idVille, CodePostal, Ville et si utile Departement (et on ne sauvegarde que idVille).
Je pense qu'il est utile de revoir la modélisation en lisant (ou relisant) ceci.
Les besoins seront alors bien différents.
Cordialement,
Pierre(3stone) |
|
|
Réponse n° 5 -------- le 28/01/2013 : 23:08 par castours
visiteur |
Bonjour
Oui' jai une troisieme table
J'ai reussi a faire fonctionner le bouton delete avec cette procedure avec l'aide du forum Self Access.
Je te remercie de tes conseils et l'aide que tu m'as apporté.
Voici la synthaxe que j'ai utilisé
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 |
|
|
Réponse n° 7 -------- le 05/02/2013 : 17:17 par castours
visiteur |
Bonjour
Je te remercie
Probleme reglé. Le bouton delete fonctionne comme je veux |
|
|
sujet actif
sujet clos
Important!
Nouveau message -
Rectifier message
Clôturer sujet
Remonter
|