Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/11/2011, 21h52   #1
Futur Membre du Club
 
Inscription : janvier 2008
Messages : 304
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 304
Points : 18
Points : 18
Par défaut Comment récupérer seulement les chiffres dans un libellé

Bonjour,

Comment récupérer seulement et seulement les chiffres dans un champ d'une table ?


Exemple :

dans le champs--> libellé --> ma colonne contient

zone étape 155 ok
étape zone verte 569 etc...

récupérer donc les chiffres --> 155
--> 569

mais les chiffres sont variables je voudrais seulement récupérer les chiffres automatiquement.

merci si qq peut m'aider
Debutant10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2011, 10h08   #2
Expert Confirmé
 
Avatar de vodiem
 
Homme Diem VO
Vivre
Inscription : avril 2006
Messages : 2 644
Détails du profil
Informations personnelles :
Nom : Homme Diem VO
Âge : 40
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Vivre
Secteur : Conseil

Informations forums :
Inscription : avril 2006
Messages : 2 644
Points : 3 895
Points : 3 895
salut Debutant10,

voici qq façon de faire:

de facon approximative :
INSTR(), MID(), LEN()... et VAL() permettent de découper et convertir la chaine en valeur. avec des IIF() pour tester plusieurs emplacements possibles, ca reste simple.

avec une fonction de filtre sur les caractères qui ne renvoie que les chiffres qui seront ensuite converti avec VAL().
ex: (cela reste grossier)
Code :
1
2
3
4
5
Function CNum(v As String) As Long
t = "0123456789"
For i = 1 To Len(v): r = r & IIf(InStr(t, Mid(v, i, 1)) > 0, Mid(v, i, 1), ""): Next
CNum = Val(r)
End Function
avec une fonction à base de regex. plus complexe mais extrêmement souple et précis. toutefois la mise en place peu être longue si tu n'en a aucune notion. cf tuto

vodiem est déconnecté   Envoyer un message privé Réponse avec citation 40
Vieux 13/11/2011, 13h17   #3
Futur Membre du Club
 
Inscription : janvier 2008
Messages : 304
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 304
Points : 18
Points : 18
Merci je vais tester avec cette vision
Debutant10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h59.


 
 
 
 
Partenaires

Hébergement Web