IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

[Access] Requete exclue champ qui commence par alpha


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 65
    Points : 37
    Points
    37
    Par défaut [Access] Requete exclue champ qui commence par alpha
    Re moi,
    merci pour votre aide.
    Comment faire pour ne pas sélectionner un enregistrement qui commence par une lettre, ou alphanumérique...
    Ex: 1/, 2/, B/,D/
    Je ne sélectionne pas le B/ et D/... mais comment définir que je ne veux pas les lettres?

    Merci beaucoup

  2. #2
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    126
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 126
    Points : 108
    Points
    108
    Par défaut Bien concevoir la bd
    Il serait p-e bien que tu nous affiche ta table avec l'exemple de données q'il peut y avoir dans ce champ. Est-ce que c'est normal que des données commencent par des lettre et d'autres non?

  3. #3
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Une première solution pourrait être la suivante, si SUBSTR est supportée par ton SGBD (sinon tu adaptes, C'est peut-être MID en Access ?) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Champ1, Champ2, ...
      FROM MaTable
     WHERE SUBSTR(Champ1, 1, 1) NOT IN ('A', 'B', 'C', ..., 'Y', 'Z');
    Oui, tu dois te taper la liste des lettres de l'alphabet, et je n'ai pas tenu compte des minuscules ... (Là, tu gères avec un UCASE ou UPPERCASE)

    Tu peux faire mieux avec la fonction ASCII si elle est supportée. Si pas exemple tu ne veux que les champs commençant par un chiffre entre 0 et 9, tu peux écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Champ1, Champ2, ...
      FROM MaTable
     WHERE ASCII(SUBSTR(Champ1, 1, 1)) BETWEEN 48 AND 57;
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  4. #4
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 65
    Points : 37
    Points
    37
    Par défaut
    J'ai essayé mais çà ne marche pas sous Access 97...
    Soit j'enleve tous les enregistrements qui commencent par une lettre (a,b,c,d...), soit je prends tous les enregistrements qui commence par un chiffre.
    Mais dans ces deux cas, je ne sais pas comment je dois m'y prendre.
    Existe-il une fonction pour définir une plage de valeurs, je m'explique: je prends les champs qui vont de 0 à 9 : plage de valeurs : 0,1,2,3,4,5,6,7,8,9. de 0 à 9.

  5. #5
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Citation Envoyé par paflolo
    J'ai essayé mais çà ne marche pas sous Access 97...
    C'est-à-dire ? Erreur de syntaxe ou résultat non conforme ? Si c'est juste une erreur de syntaxe, il doit y avoir des fonctions équivalentes à celles que j'ai utilisée.

    Si ton champ est alpha, une autre slution est tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Champ1, Champ2, ...
      FROM MaTable
     WHERE SUBSTR(Champ1, 1, 1) >= 'A' 
       AND SUBSTR&#40;Champ1, 1, 1&#41; <= 'Z'
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Champ1, Champ2, ...
      FROM MaTable
     WHERE SUBSTR&#40;Champ1, 1, 1&#41; BETWEEN 'A' AND 'Z'
    Si SUBSTR n'est pas reconnue, essaye de la remplacer par MID
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

Discussions similaires

  1. [AC-2010] Supprimer tout les champs qui commencent par une "*"
    Par shakapouet dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 14/10/2013, 14h29
  2. Champs qui commencent par un entier entouré de crochets
    Par beegees dans le forum Développement
    Réponses: 3
    Dernier message: 11/12/2011, 10h17
  3. [MySQL] update sur les champs qui commencent par 16
    Par z_ahlam dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 31/10/2010, 14h39
  4. Des nombres qui commencent par 0
    Par KEROZEN dans le forum Access
    Réponses: 5
    Dernier message: 28/04/2006, 14h31
  5. Parcourir tout les Id qui commence par "dz_"
    Par FMaz dans le forum Général JavaScript
    Réponses: 28
    Dernier message: 24/03/2006, 22h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo