Forum - Questions générale - Sujet n°658

[]
Nombre de membres 1 membre
Connectés : ( personne )
 

La Charte du Forum - La Charte du Forum

Forum - Forum
Questions générale - Questions générale


clos par 3Stone le 05/02/2013 : 17:46  Sujet n° 658  Bouton delete

le 26/01/2013 : 23:27
par castours

Anonyme

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

Ecrire à castours  sujet clos  Haut

[]   

Réponse n° 1
--------
le 26/01/2013 : 23:59
par 3Stone

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)
  clos par 3Stone le 05/02/2013 : 17:46  Haut
Réponse n° 2
--------
le 27/01/2013 : 14:00
par 3Stone

3Stone

Administrateur

Merci de répondre sur le forum...

Cordialement,
Pierre(3stone)
  clos par 3Stone le 05/02/2013 : 17:46  Haut
Réponse n° 3
--------
le 27/01/2013 : 20:03
par castours

Anonyme

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

Ecrire à castours   clos par 3Stone le 05/02/2013 : 17:46  Haut
Réponse n° 4
--------
le 28/01/2013 : 16:44
par 3Stone

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 wink
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 n
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)
  clos par 3Stone le 05/02/2013 : 17:46  Haut
Réponse n° 5
--------
le 28/01/2013 : 23:08
par castours

Anonyme

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

Ecrire à castours   clos par 3Stone le 05/02/2013 : 17:46  Haut
Réponse n° 6
--------
le 05/02/2013 : 01:50
par 3Stone

3Stone

Administrateur

Bonjour,
 
Citation :

Dans un formulaire, j'ai une liste multicriteres

 
J'avais zapé la liste ayant la propriété "sélection multiple" wink

Cordialement,
Pierre(3stone)
  clos par 3Stone le 05/02/2013 : 17:46  Haut
Réponse n° 7
--------
le 05/02/2013 : 17:17
par castours

Anonyme

visiteur

Bonjour

Je te remercie

Probleme reglé. Le bouton delete fonctionne comme je veux

Ecrire à castours   clos par 3Stone le 05/02/2013 : 17:46  Haut
actif sujet actif   clos sujet clos   Important! Important!   Nouveau Nouveau message   -   Rectifier Rectifier message   Clôturer Clôturer sujet   Remonter Remonter
[]
Catégories de discussion  Forum 



Haut