Ordre de sélection dans un formulaire Access [Résolu]

Messages postés
135
Date d'inscription
lundi 26 janvier 2009
Dernière intervention
24 novembre 2014
- - Dernière réponse : Rrominet
Messages postés
135
Date d'inscription
lundi 26 janvier 2009
Dernière intervention
24 novembre 2014
- 27 nov. 2007 à 16:05
Bonjour,

Je travaille actuellement sur une appli développée en Access 2003.
J'ai un formulaire en mode "Feuille de données".

Je peux faire des sélections de plusieurs lignes avec la touche [MAJ] de haut en bas ou de bas en haut.
Je peux ensuite récupérer ma sélection avec les attributs SelTop et SelHeight de mon formulaire.

En revanche, je ne sais pas comment me placer (via une boucle) sur chaque enregistrement sélectionné.

En effet, quand je fais :
                For i = Me.SelHeight To 1 Step -1
                    Call SupprimeCetteLigne(tabEMC(i))
                    Me.SelTop = Me.SelTop + 1
                Next i
...ça fonctionne, mais uniquement lorsque je fais une sélection de haut en bas. Si je la fait de bas en haut, ça me supprime les enregistrements du dessous et non ceux de ma sélection (A cause de mon Me.SelTop = Me.SelTop + 1.

Quelqu'un aurait-il une astuce pour éviter cela ?

Merci d'avance ;-)
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
135
Date d'inscription
lundi 26 janvier 2009
Dernière intervention
24 novembre 2014
3
Merci
Finalement, c'est résolu, et plutôt facilement.

Voici ma solution :
                Me.Recordset.AbsolutePosition = Me.SelTop - 1
                For i = 1 To Me.SelHeight
                     Call SupprimeCetteLigne(tabEMC(i))
                Next i

Apparemment il semblerait que ça fonctionne dans tous les cas de figure...

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de Rrominet
Messages postés
2
Date d'inscription
jeudi 19 avril 2007
Dernière intervention
27 novembre 2007
0
Merci
Bonjour,

Une idée (non testée), trouvée dans l'aide :

Les propriétés SelHeight et SelWidth déterminent la position du coin inférieur droit du rectangle de sélection. Les valeurs des propriétés SelTop et SelLeft déterminent le coin supérieur gauche du rectangle de sélection.

Grâce à ces propriétés, tu pourrais déterminer le sens de la sélection, et faire -1 ou +1 dans la boucle, selon le sens ?
Phil.
Commenter la réponse de DEPH007
Messages postés
135
Date d'inscription
lundi 26 janvier 2009
Dernière intervention
24 novembre 2014
0
Merci
Merci pour ta participation mais malheureusement, dans les 2 cas, les 4 propriétés ont la même valeur...

Le truc que j'ai remarqué c'est que le curseur se place sur le premier enregistrement lors d'une sélection de haut en bas et sur le dernier enregistrement lors de la sélection de bas en haut, d'où mon problème...

Je vais sinon essayer de faire autrement en parcourant le RecordSet de mon formulaire sur "Me.SelTop" enregistrements, puis effectuer ma suppression sur "Me.SelWidth" enregistrements.

Ca devrait peut-être passer...
Commenter la réponse de Rrominet

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.