Question en SQL

Bonjour,

je ss debutant en acces ,et jaimerais realiser une requette qui affiche des noms commencant par une lettre comprise entre A et D . voici la requette que jai réalisé mais elle marche pas :

SELECT Clients.*
FROM Clients where société like "between a and d*"
order by 2 ;

merci de me repondre.
Configuration: Windows XP
Firefox 3.0.10

7 réponses

  1. Contributeur
    SELECT *
    FROM Clients
    WHERE left(Ucase(société),1)>='A' And left(Ucase(société),1)<='D';
    1. ouiiiii merci bcp ca marche maintenant , si tu pouvais juste m'expliquer ces instructions ,packe c la 1ere fois ke je les vois, et merci encore
    2. Contributeur
      @sinzoleft(Ucase(société),1)>='A'

      ucase() transforme en majuscule
      left(,1) prend le premier caractère de gauche
      >= teste si c'est plus grand que la lettre A

      le reste est-il clair ?
    3. @yg_beokeeey , bien recu, je suis tres reconnaissant.
      merci bcp
  2. Désolé, je viens de m'apercevoir de mon énorme boulette.
    Voivi ce qui va marcher :

    Tes données sont peut-être écrite en majuscules.
    Si tel est le cas, il faut faire cela :

    SELECT *
    FROM Clients
    WHERE UPPER(société) LIKE 'A%'
    or UPPER(société) LIKE 'B%'
    or UPPER(société) LIKE 'C%'
    or UPPER(société) LIKE 'D%';
    1. merci bcp mais franchement ca aussi ne marche pas , jai essaye et avec le minuscule et avec le majuscule :s...

      je sais pas quoi faire là.. autres solutions svp ..
      merci davance
  3. jai fait ceci mais on me signal k la fonction upper nest pas definie en expression !!
    1. Contributeur
      SELECT *
      FROM Clients
      WHERE left(UPPER(société),1)>='A'
      and left(UPPER(société),1)<='D';
      1. Tes données sont peut-être écrite en majuscules.
        Si tel est le cas, il faut faire cela :

        SELECT *
        FROM Clients
        WHERE UPPER(société)='A%'
        or UPPER(société)='B%'
        or UPPER(société)='C%'
        or UPPER(société)='D%';
        1. Je dirais même plus :

          SELECT nom-cl
          FROM Clients
          WHERE nom='a%'
          OR nom='b%'
          OR nom='c%'
          OR nom='d%'
          1. merci mais ca ne fonctionne tjs pas :s...
            voici c ke jai fait :
            SELECT Clients.*
            FROM Clients
            WHERE société='a*'
            or société='b*'
            or société='c*'
            or société='d*';

            je fais * au lieu de % packe je travaille avec acces 2007 il reconnait * comme %.

            merci de me reperer le probleme