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

Signaler
Messages postés
133
Date d'inscription
lundi 26 janvier 2009
Statut
Membre
Dernière intervention
24 novembre 2014
-
Messages postés
133
Date d'inscription
lundi 26 janvier 2009
Statut
Membre
Dernière intervention
24 novembre 2014
-
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 ;-)

3 réponses

Messages postés
133
Date d'inscription
lundi 26 janvier 2009
Statut
Membre
Dernière intervention
24 novembre 2014

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...
Messages postés
2
Date d'inscription
jeudi 19 avril 2007
Statut
Membre
Dernière intervention
27 novembre 2007

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.
Messages postés
133
Date d'inscription
lundi 26 janvier 2009
Statut
Membre
Dernière intervention
24 novembre 2014

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...