Comment ignorer un chiffre pour un tri alphabétique ?

tony_montana28 Messages postés 5 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 24 janvier 2005 - 24 janv. 2005 à 11:46
cs_fabrice69 Messages postés 1765 Date d'inscription jeudi 12 octobre 2000 Statut Membre Dernière intervention 11 décembre 2013 - 29 janv. 2005 à 23:19
Bonjour,
Je cherche a trier une table Access pour l'édition d'un état, mais le champ à trier possède parfois un chiffre au début de l'intitulé (ce sont des noms de molécules Ex: 1-butanol...)
Mon but est de créer requete de tri de façon à ce qu'elle ne prenne pas en compte les chiffres ou tiretslettre de la valeur.
Ex:
nom de produit
<HR style= "WIDTH: 204px; HEIGHT: 2px" SIZE=2>
1-butanol
butanol
méthane
acéthylène

une fois trié :
nom de produit

<HR style ="WIDTH: 204px; HEIGHT: 2px" SIZE=2>


acéthylène
1-butanol
butanol
méthane

Si mon problème n'est pas compris, dites le moi..
J ai besoin d'aide svp, ne me laissez pas tomber...

2 réponses

cs_Antilope Messages postés 17 Date d'inscription mercredi 4 juin 2003 Statut Membre Dernière intervention 16 décembre 2005
25 janv. 2005 à 13:43
Peut-être une piste :


select substr
('1-bethanol',instr
('1-bethanol','-')+1,length
('1-bethanol'))
from dual

Antilope
0
cs_fabrice69 Messages postés 1765 Date d'inscription jeudi 12 octobre 2000 Statut Membre Dernière intervention 11 décembre 2013 5
29 janv. 2005 à 23:19
Je ne sais pas si elle existe sous Access mais sous SQL Server, il existe une fonction qui permet de savoir si une variable est Numeriqu ou non.

Donc il suffit de prendre le premier caractere de ton champs et le tester en numerique si oui > supprimer les 2 premiers caracteres.

La fonction SQL : (copie de l'aide MSDN)

--------

ISNUMERIC

Détermine si une expression est un type numérique valide.


Syntaxe

ISNUMERIC ( expression )


Arguments

expression


Expression à évaluer.


Type des valeurs renvoyées

int


Notes

ISNUMERIC renvoie 1 si l'expression entrée est évaluée vers un entier valide, un nombre à virgule flottante, monétaire ou décimal. Dans le cas contraire, ISNUMERIC renvoie 0. Lorsque la valeur 1 est renvoyée, ceci garantit que expression peut être convertie dans l'un de ces types numériques.


Exemple

A. Utilisation de ISNUMERIC

Cet exemple renvoie 1 car la colonne zip comprend des valeurs numériques valides.

USE pubs
SELECT ISNUMERIC(zip) 
FROM authors
GO



B. Utilisation de ISNUMERIC et SUBSTRING

Cet exemple renvoie 0 pour tous les titres de la table titles car aucun des titres n'a une valeur numérique valide.

USE pubs
GO
-- Because the title column is all character data, expect a result of 0
-- for the ISNUMERIC function.
SELECT SUBSTRING(title, 1, 15) type, price, ISNUMERIC(title)
FROM titles
GO



Voici le jeu de résultats obtenu :

type            price                                  
--------------- -------------------------- ----------- 
The Busy Execut 19.99                      0           
Cooking with Co 11.95                      0           
You Can Combat  2.99                       0           
Straight Talk A 19.99                      0           
Silicon Valley  19.99                      0           
The Gourmet Mic 2.99                       0           
The Psychology  (null)                     0           
But Is It User  22.95                      0           
Secrets of Sili 20.00                      0           
Net Etiquette   (null)                     0           
Computer Phobic 21.59                      0           
Is Anger the En 10.95                      0           
Life Without Fe 7.00                       0           
Prolonged Data  19.99                      0           
Emotional Secur 7.99                       0           
Onions, Leeks,  20.95                      0           
Fifty Years in  11.95                      0           
Sushi, Anyone?  14.99                      0           

(18 row(s) affected)


<!--RELATEDTOPICSLIST-->

------

Romelard Fabrice (Alias F___)
0