Sql Toujours et Toujours

Résolu
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 - 18 oct. 2005 à 22:34
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 - 19 oct. 2005 à 00:30
Bonsoir,
Me faut un calè en requette
sql = "Select Catégorie SUBSTR(Catégorie From 1 For 5) As SimpleCatégorie From LocEof"
C'est tout simple mais ça plante
Erreur de syntaxe (Opérateur Absent.........)

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé

5 réponses

valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
19 oct. 2005 à 00:30
Bon je pense avoir trouvé !!!!
sqlFilm = "SELECT DISTINCT IIf(InStr(Catégorie, "",""), " & _
"Mid(Catégorie, 1, InStr(Catégorie, "","") - 1), Catégorie) " & _
"As SimpleCatégorie From films WHERE IIf(InStr(Catégorie, "","") > 0, " & _
"InStr(Catégorie, "","") > 0, Catégorie);"

Merci mrdep de m'avoir mis sur la voie
j'ai plus qu'a tester
Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
3
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
18 oct. 2005 à 23:22
Je rajoutes ces explications au cas ou ........
Je veux récupérer les 5 premiers caractères de tous les champs de la table catégorie
Si je code sous Access il me donne cette requette (En utilisant la fonction ExtracChaine)
Mais cela ne me convient pas car là la requette ne me sort que les champs qui correspondent au critère
ex:
Table Requette
AAAA ..........
AAAAAA ...........
AAAAA AAAAA

SELECT Films.Catégorie
FROM Films
WHERE (((Films.Catégorie)=Mid([Films]![Catégorie],1,5)));
Le but final et de trouver une virgule dans mon champ et de récupérer tous les caractères situés avant et ce pour tous les champs.

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 7
18 oct. 2005 à 23:22
Salut,



Ca doit ressembler à qqe chose comme ça :

sql = "Select Catégorie, SUBSTR(Catégorie, 1, 5) As SimpleCatégorie From LocEof"



Pour la fonction substr, ça dépend de la base de données que tu utilises (access, oracle, sqlserver, mysql ...)
0
mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 7
18 oct. 2005 à 23:35
Ah, j'ai répondu avant que tu postes ton 2e message.

Si j'ai bien compris ce que tu veux faire (récupérer ts les caractères situés avant la virgule dans le champ catégories)

SELECT mid(categories,1,instr(categories,",")-1)

FROM films

WHERE instr(categories,",")>0;



Ex: j'ai fait une table Films avec 3 lignes

Categories

AAAA,AA

B,A

BBB

La requête ramène 2 lignes :

AAAA

B
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
19 oct. 2005 à 00:07
Merci,
J'ai fait un grand pas mais ce n'est pas encore ça
J'ai modifier la requette car je ne pouvais pas extraire les données a savoir pourquoi
sqlFilm = "SELECT DISTINCT mid(catégorie,1,instr(catégorie,"","")-1) " & _
"As SimpleCatégorie From films WHERE instr(catégorie,"","")>0;"
Mais si je reviens à ton exemple
Catégories
AAAA,AA
B,A
BBB
je voudrais que la requette me ramène
AAAA
B
BBB
cela est-il possible ?
Sinon je me contanterais de cela

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
Rejoignez-nous