ACCESS Effacer par code une sélection d'enr

Fermé
MC - 14 oct. 2004 à 11:46
random Messages postés 1612 Date d'inscription vendredi 26 novembre 2004 Statut Membre Dernière intervention 30 mars 2006 - 14 déc. 2004 à 12:03
Bonjour,
je souhaite, dans une base de données Access 2002, effacer par code plusieurs enregistrements sélectionnés par l'utilisateur grâce au sélecteur d'enregistrements dans un formulaire en mode continu.
Comment dois je m'y prendre ?

MC
A voir également:

8 réponses

Utilisateur anonyme
14 oct. 2004 à 15:35
Salut !

Je vois pas bien pourquoi tu veux faire ça, mais bon, le plus simple est de simuler l'appui sur la touche Suppr si l'utilisateur à déjà sélectionné ce qu'il voulait supprimer.
Pour simuler l'appui sur le clavier en VB, utilise l'instruction SENDKEYS.

Dans ton cas :
sendkeys {del}

@+
0
zenon Messages postés 726 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 13 février 2010 180
14 oct. 2004 à 16:30
Si je comprends bien, tu souhaites que l'utilisateur puisse sélectionner plusieurs enregistrements puis les supprimer ous en une fois?

J'espère qu'il restera des enregistrements dans ta table...

Sinon, je pense que la seule solution serait d'inclure dans la table une champ oui/non, par exemple appelé supprimer puis de créer un bouton de commande qui supprimerait les enregistrements cochés. C'est ce que tu souhaites faire?
0
Merci pour vos réponses, mais je crois que je n'ai pas assez détaillé mon problème.
En fait, dans mon formulaire si l'utilisateur veut supprimer plusieurs enregistrements à la fois il peut les sélectionner avec le sélecteur puis cliquer sur le bouton suppr. Seulement la suppression de ces enregistrements implique une mise à jour d'enregistrements dans une autre table et pour cela je dois connaitre certaines données des enregistrements supprimés.

Si je ne supprime qu'un enreg, j'utilise CurrentRecord avant de l'effacer, pour récupérer mes données : pas de pb ! La où ça se complique, c'est lorsque je veux en supprimer plusieurs à la fois.

En fait, Il me manque une propriété permettant de récupérer plusieurs enreg sélectionnés dans un formulaire continu.

Merci d'avance.
0
zenon Messages postés 726 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 13 février 2010 180
14 oct. 2004 à 19:06
En ajoutant une case à cocher, tu peux trier l'ensemble des enregistrements à supprimer dans une requête, éventuellement couplée avec la table que tu veux mettre à jour. Tu peux ensuite effectuer une mise à jour sur cette même requête.
0

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

Posez votre question
Cap de Boro
15 oct. 2004 à 11:54
Adeu

Autre solution, mais qui complique peut-être d'autres opérations :
Plutôt que d'utiliser un formulaire continu, utilise une ListBox dans un formulaire simple. Au moment où l'utilisateur clique sur un bouton "Suppr", tu peux récupérer la liste des enregistrements concernés et appliquer les traitements voulus.
0
Merci beaucoup pour vos solutions !

Je crois que je vais rajouter une case à cocher comme l'a indiqué Zénon.
Ceci dit, la zone de liste est effectivement une autre solution, mais je pense un peu compliquée dans mon cas, quoique ...

Je pensais quand même que l'on pouvait récupérer les enreg sélectionnés par le sélecteur, mais apparemment non.

En tout cas, merci !
0
zenon Messages postés 726 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 13 février 2010 180
16 oct. 2004 à 12:12
Le sélecteur d'enregistrement ne permet de sélectionner qu'un enregistrement à la fois (heureusement pour les données) et je pense qu'une liste déroulante poserait le même problème. En revanche ou pourrait ajouter les enregistrements sélectionnés dans une seconde liste déroulante et les supprimer en une fois. Pour cela il faut de toute manière intégrer dans la table un champ qui permet de les identifier.

@+

Guy
0
random Messages postés 1612 Date d'inscription vendredi 26 novembre 2004 Statut Membre Dernière intervention 30 mars 2006 155
14 déc. 2004 à 12:03
ton formulaire renvoie des valeurs
d'abord ouvre ton formulaire en mode exécution
ecris une requete selection
dans les clauses where mets =forms!monformulaire!moncontrol
quand ta selection sera au point modifie la requête en suppression
e enreregistre la
associe à l'évènement clic du bouton la commande runsql("ma requete")
0