Chaine de caractère sous acces

Fermé
debureaux - 3 nov. 2003 à 15:21
 Bubudu - 11 mai 2016 à 12:05
Bonjour,
J'ai déja travaillé sous AS 400 et j'aimerai retourver l'équivalent du SUBSTRING je désire en fait sous acces trouver une fonction qui permette d'extraire les trois premier chiffre d'un compte comptable qui est représenté sous la forme d'un champ alphanumérique.
Merci d'avance de votre réponse je suis nouveau dans ce type de recherche.

5 réponses

Dans MS Acces la commande pour extraire les trois 1er chiffre dans une chaine est :
Left("chaine",3)
Il y à egalement pour extraire les n derniers caratères d'une chaine :
right("chaine",n)
et enfin pour extraire n caratères d'une chaine à partire de la position i la commande suivante:
mid("chaine",i,n)

j'espere avoir répondu à ta question.
7
J'utilise une requete basée sur une table liée.
Lorsque je mets ta syntaxe cela ne fonctionne pas on me dis que j'ai utilisé un caractère ou une virgule non valide par rapport à ta syntaxe Left("chaine",3) lorsque j'utilise le générateur d'expression de la requete j'ai plutot ceci Gauche([chaine],3).
Par contre même message d'erreur.
0
blux Messages postés 24667 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 1 décembre 2022 3 279
5 nov. 2003 à 09:42
Salut,

Il ne faut pas mettre de double-quote lorsqu'on adresse un champ :

SELECT LEFT(champ1.table1,3) FROM....

Et ne pas oublier que SQL est en anglais, donc GAUCHE() ne marchera pas.
Les [] sont là uniquement pour délimiter un nom s'il possède des caractères spéciaux, genre espace, tiret... Dans la plupart des cas, ils ne s'imposent donc pas...

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0
debureaux > blux Messages postés 24667 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 1 décembre 2022
5 nov. 2003 à 11:23
En fait je n'ai pas encore ton niveau.
J'aimerai trouver une fonction qui permette dans une requéte d'extraire les trois premier caractère d'un champs lui même dans la requète.
Le sql je ne sais pas l'utiliser alors lorsque je met letf il traduit par gauche car dans le générateur si tu mets is nul il traduit est nul.
Est il possible de la faire sans passer par le sql dans la requete avec le générateur d'expression uniquement et une fonction ?
Je ne suis pas programeur je ne suis qu'un petit controleur de gestion qui adore l'informatique.
Merci de ta réponse.
Pour ce qui est des cons heureusement qu'il y en a sinon il faudrait les inventer. Il me font rire et sont plus bète que méchant.
A+
0
blux Messages postés 24667 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 1 décembre 2022 3 279 > blux Messages postés 24667 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 1 décembre 2022
5 nov. 2003 à 13:34
Pour l'expression à utiliser dans la création de la requête il faut utiliser :

gauche(champ;3)

Le point-virgule est remplacé par une virgule en mode SQL...

Encore un paradoxe !

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0
debureaux > blux Messages postés 24667 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 1 décembre 2022
6 nov. 2003 à 15:01
Merci pour tout Blux.
Cela fonctionne.
Une nouvelle dimension s'ouvre à moi et tu y es un peu pour quelque chose.
A+
debureaux
0