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

Rrominet 135 Messages postés lundi 26 janvier 2009Date d'inscription 24 novembre 2014 Dernière intervention - 27 nov. 2007 à 12:12 - Dernière réponse : Rrominet 135 Messages postés lundi 26 janvier 2009Date d'inscription 24 novembre 2014 Dernière intervention
- 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

Rrominet 135 Messages postés lundi 26 janvier 2009Date d'inscription 24 novembre 2014 Dernière intervention - 27 nov. 2007 à 16:05
+3
Utile
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...
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Rrominet
DEPH007 2 Messages postés jeudi 19 avril 2007Date d'inscription 27 novembre 2007 Dernière intervention - 27 nov. 2007 à 14:47
0
Utile
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
Rrominet 135 Messages postés lundi 26 janvier 2009Date d'inscription 24 novembre 2014 Dernière intervention - 27 nov. 2007 à 16:02
0
Utile
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.