Bonjour à tous
Je voudrais savoir s'il existe une fonction permettant de trouver parmis une liste de String, celle se situant, par ordre alphabétique, juste avant, ou juste après un critère donné par l'utilisateur. Je m'explique.
J'ai une table T_Salarie, contenant un No_Salarie ainsi qu'un Nom_Salarie. Le No_Salarie est utilisé dans une autre table servant d'association. Quand j'affiche les valeurs de cette table association, elles sont pour l'instant triées par ordre croissant de No_Salarié. Or, je souhaiterai plutôt qu'elles soient triées par ordre alphabétique de Nom_Salarie. Problème : le champ Nom_Salarie n'est pas dans la table association.
Mon tri se faisant dans la requête SQL d'un Recordset, je ne vois pas bien comment passer par la table T_Salarie, aussi je vois deux solutions possibles :
- la plus simple consisterait à entrer le Nom_Salarie dans ma table association, et trier les valeurs sur ce champ, mais cette solution n'est pas très propre puisque mes noms de salariés seraient à deux endroits différents de ma base.
- plus propre, mais plus compliqué, je pourrai, plutôt que d'utiliser un numéro automatique pour mes No_Salarie, les attribuer en fonction du nom de salarié. Ainsi, j'aimerai à chaque nouveau salarié, parcourir la table salarié, trouver celui se situant juste avant par ordre alphabétique, attribuer son numéro + 1 au nouveau salarié, et incrémenter de 1 le numéro de tous les salariés suivants. Vous voyez l'idée ?
(Par exemple, si j'ai une table contenant les valeurs suivantes :
NoSalarie = 1 ; Nom_Salarie = a
NoSalarie = 2 ; Nom_Salarie = c
Je souhaite ajouter le salarié b. Je parcours ma table, trouve celui se situant juste avant (a), attribue à mon nouveau salarié la valeur du No_Salarie de a + 1 (donc 2), et incrémente de 1 les suivants (donc No_Salarie de c devient 3). On aurait ainsi :
NoSalarie = 1 ; Nom_Salarie = a
NoSalarie = 2 ; Nom_Salarie = b
NoSalarie = 3 ; Nom_Salarie = c)
Seulement j'ignore complètement comment trouver le nom de salarié se situant juste avant... =/
Si vous savez comment faire, ou avez une toute autre idée pour résoudre mon problème (qui est juste, à la base, de trier par ordre alphabétique...), je suis preneuse \o/ !
.
Partager