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

Requêtes et SQL. Discussion :

[Access] "Erreur de syntaxe dans la clause FROM"


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 84
    Points : 51
    Points
    51
    Par défaut [Access] "Erreur de syntaxe dans la clause FROM"
    Bonjour,

    J'ai le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Région_GotFocus()
     
    If Me.NOM_REPR = "- Tous -" Then
        Me.Région.RowSource = "SELECT DISTINCT Région, 1 AS Position FROM Recap1" & _
        "UNION" & _
        "SELECT DISTINCT & Chr(34) & - Tous - & Chr(34) & AS Tous, 0 AS Position" & _
        "FROM Recap1" & _
        "ORDER BY Position;"
    Else
        Me.Région.RowSource = "SELECT DISTINCT [Recap1].[Région] FROM Recap1 WHERE ((([Recap1].[NOM_REPR])=Formulaires!Recherche_liste_prospects!NOM_REPR))"
    End If
    End Sub
    Dès que je lance l'application j'ai le message d'erreur d'Access : "Erreur de syntaxe dans la clause FROM".

    Il s'agit à mon avis de la première partie de mon code (dans if) mais je ne comprends pas ce qui ne lui plait pas...
    Ce que je cherche à faire : rajouter "tous" à la liste "Région" si "tous" a été selectionné dans une autre liste apellée NOM_REPR.

    J'ai l'impression que ce n'est pas grand chose, mais je débute en code et les autres post que j'ai trouvé pour le même genre d'erreur ne m'ont pas permis de me débloquer.

    Est ce que quelqu'un a une idée ?
    Merci d'avance
    La ténacité paye toujours... en ce qui concerne Access l'acharnement est un minimum !

  2. #2
    Membre actif Avatar de moicats
    Inscrit en
    Mars 2006
    Messages
    299
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 299
    Points : 200
    Points
    200
    Par défaut
    Salut,

    as tu essayé ta requete dans un generateur de requete pour verifier si la sintaxe est bonne?
    ça aide pour debuger un probleme de ce type

    bonne continuation

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 84
    Points : 51
    Points
    51
    Par défaut
    Salut,

    Oui j'ai créée cette requête grâce au générateur et j'ai copié et importé sous VBA le code SQL de la requête.
    C'est pour cela que je ne comprends pas le pb parce qu'avec une requete, cela fonctionnait.
    Mais je vais re-vérifier !

    Merci du conseil
    La ténacité paye toujours... en ce qui concerne Access l'acharnement est un minimum !

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 84
    Points : 51
    Points
    51
    Par défaut
    J'ai réessayé avec un générateur de requête, le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT DISTINCT Région, 1 AS Position FROM Recap1
    UNION
    SELECT DISTINCT "- Tous -" AS Tous, 0 AS Position
    FROM Recap1
    ORDER BY Position
    mais j'avais eu un problème à changer les guillemets autour de "tous" on m'a conseillé de mettre & chr(34) &
    ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    If Me.NOM_REPR = "- Tous -" Then
        Me.Région.RowSource = "SELECT DISTINCT Région, 1 AS Position FROM Recap1" & _
        "UNION" & _
        "SELECT DISTINCT & Chr(34) & - Tous - & Chr(34) & AS Tous, 0 AS Position" & _
        "FROM Recap1" & _
        "ORDER BY Position;"
    mais cela ne marche plus...

    Est ce que quelqu'un voit l'erreur dans l'utilisation de Chr (34) ?
    C'est la première fois que je me sers de cette commande, il y a peut être une erreur à ce niveau ?

    Merci d'avance
    La ténacité paye toujours... en ce qui concerne Access l'acharnement est un minimum !

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Il te manque un espace aprés :Recap1, et dans toutes les fins de lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    If Me.NOM_REPR = "- Tous -" Then
        Me.Région.RowSource = "SELECT DISTINCT Région, 1 AS Position FROM Recap1 " & _
        "UNION " & _
        "SELECT DISTINCT & Chr(34) & - Tous - & Chr(34) & AS Tous, 0 AS Position " & _
        "FROM Recap1 " & _
        "ORDER BY Position;"
    Déjà dans un premier temps.

    Starec

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 84
    Points : 51
    Points
    51
    Par défaut
    Merci Starec !

    J'ai fait la modif que tu m'avais conseillé et j'ai un nouveau message d'erreur qui concerne la commande : chr(34)

    Mon code est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    If Me.NOM_REPR = "- Tous -" Then
        Me.Région.RowSource = "SELECT DISTINCT Région, 1 AS Position FROM Recap1 " & _
        "UNION " & _
        "SELECT DISTINCT & Chr(34) & - Tous - & Chr(34) & AS Tous, 0 AS Position " & _
        "FROM Recap1 " & _
        "ORDER BY Position;"
    Et là le message d'erreur qui apparait est :
    Erreur de syntaxe (opérateur absent) dans l'expression '& chr(34) &-tous-& chr(34) &'.

    J'ai essayé avec des espaces, sans espaces, avec des & et sans, je ne vois pas comment utiliser cette fonction ...

    Est ce que tu as une idée ?
    La ténacité paye toujours... en ce qui concerne Access l'acharnement est un minimum !

  7. #7
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut

    - tous - est une chaine :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    If Me.NOM_REPR = "- Tous -" Then
        Me.Région.RowSource = "SELECT DISTINCT Région, 1 AS Position FROM Recap1 " & _
        "UNION " & _
        "SELECT DISTINCT " & Chr(34) & "- Tous -" & Chr(34) & " AS Tous, 0 AS Position " & _
        "FROM Recap1 " & _
        "ORDER BY Position;"

  8. #8
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT DISTINCT " & Chr(34) & " - Tous - " & Chr(34) & " AS Tous,
    Ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT DISTINCT ' - Tous - ' AS Tous,
    ............................................................................................

    Dans l'intérêt de tous, ne posez pas de questions techniques par messages privés.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 84
    Points : 51
    Points
    51
    Par défaut
    Merci beaucoup Kikof et Mout1234 !!! Ca marche impecc !!!

    J'apprécie vraiment que vous preniez le temps d'aider les débutants, c'est vraiment gentil, merci !

    La ténacité paye toujours... en ce qui concerne Access l'acharnement est un minimum !

  10. #10
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Citation Envoyé par Marie_2116
    Merci beaucoup Kikof et Mout1234 !!! Ca marche impecc !!!

    J'apprécie vraiment que vous preniez le temps d'aider les débutants, c'est vraiment gentil, merci !

    Ce fut un plaisir
    ............................................................................................

    Dans l'intérêt de tous, ne posez pas de questions techniques par messages privés.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur de syntaxe dans la clause FROM
    Par kek's dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/09/2011, 16h40
  2. Erreur "erreur de syntaxe dans la clause from"
    Par laaroussi1 dans le forum Accès aux données
    Réponses: 10
    Dernier message: 18/07/2011, 20h55
  3. Réponses: 5
    Dernier message: 10/07/2007, 12h24
  4. Erreur de syntaxe dans la clause from
    Par shub dans le forum Access
    Réponses: 1
    Dernier message: 12/06/2006, 20h24
  5. Réponses: 2
    Dernier message: 03/06/2006, 00h22

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