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 :

Erreur de syntaxe dans l'expression SELECT. [AC-2007]


Sujet :

Requêtes et SQL.

  1. #1
    Membre averti Avatar de BRUNO71
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2007
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 502
    Points : 319
    Points
    319
    Par défaut Erreur de syntaxe dans l'expression SELECT.
    Bonjour,

    J'ai une table (Tble) avec deux colonnes (demandeur) et (Num).
    Chaque demandeur correspond à un Num.

    Je rajoute que cette table c'est un essai, pour m’entraîner.

    Avec la macro ci-dessous je tente de récupérer le nom qui correspond.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim rst As DAO.Recordset
    Dim nom As Variant
     
    Set rst = DLookup("SELECT [demandeur],[Num] FROM [Tble] WHERE [Num] =608", dbOpenSnapshot)
    nom = rst("demandeur")
    MsgBox nom
    rst.Close
    Set rst = Nothing
    Malgré plusieurs essais, si si, je n'y arrive pas.

    Le message est le suivant : Erreur de syntaxe dans l'expression SELECT [demandeur],[Num] FROM [Tble] WHERE [Num] =608"

    Merci pour votre aide, je jette l'éponge.

    Cordialement,

  2. #2
    Membre habitué
    Inscrit en
    Avril 2010
    Messages
    313
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 313
    Points : 176
    Points
    176
    Par défaut
    Bonjour
    Je pense que tu mélanges 2 trucs .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nom = DLookup("[demandeur]", "Tble",[num] =608)
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim oRst as DAO.Recordset
    Dim oDb as DAO.Database
    Set oDb=CurrentDb
    Set oRst=oDb.OpenRecordset("SELECT [demandeur],[Num] FROM [Tble] WHERE [Num] =608",dbOpenSnapshot)
    nom =oRst.Fields("demandeur").Value
     
    'Libération des objets
    oRst.Close
    oDb.Close
    Set oRst=Nothing
    Set oDb=Nothing
    Fred

  3. #3
    Membre averti Avatar de BRUNO71
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2007
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 502
    Points : 319
    Points
    319
    Par défaut
    Bonjour amelyfred,

    J'ai essayé également ce code, j'ai bien regardé le PDF (Définition et manipulation de données avec DAO) réalisé par Christophe WARIN.
    Mais je n'y arrive pas....Voici un exemple.
    Pièce jointe 199208

    Honnêtement , si quelqu'un a une idée !

    Merci

  4. #4
    Community Manager

    Avatar de Malick
    Homme Profil pro
    Community Manager
    Inscrit en
    Juillet 2012
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Community Manager
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9 134
    Points : 84 788
    Points
    84 788
    Billets dans le blog
    15
    Par défaut


    Le problème vient du fait que dans votre table, le champ Num est de type Texte.

    Nom : Sans titre.png
Affichages : 803
Taille : 34,1 Ko

    Votre code devrait être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Sub Commande411_Click()
     
     
    Dim oRst As DAO.Recordset
    Dim oDb As DAO.Database
    Dim Nom As String
    Set oDb = CurrentDb
     
    Set oRst = oDb.OpenRecordset("SELECT [demandeur],[Num] FROM [Tble_demandeurs2] WHERE [Num] ='608' ", dbOpenSnapshot)
    Nom = oRst.Fields("demandeur").Value
    MsgBox "LA réponse est : " & Nom
     
    oRst.Close
    oDb.Close
    Set oRst = Nothing
     
    End Sub

    Ou bien vous changez le type du champ Num en Numérique et vous exécutez la requête que vous avez initialement écrite.

    Voici votre base corrigée :
    Fichiers attachés Fichiers attachés
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  5. #5
    Membre averti Avatar de BRUNO71
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2007
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 502
    Points : 319
    Points
    319
    Par défaut
    Oh...M.....
    Merci..

    Si c'est du texte, dans mon exemple : Si 'est un nombre :Entouré par des apostrophes '


    MERCI

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

Discussions similaires

  1. Erreur de syntaxe dans la chaine de l'expression
    Par maringot dans le forum VBA Access
    Réponses: 7
    Dernier message: 22/07/2014, 10h54
  2. Erreur de syntaxe dans l'expression INSERT INTO
    Par bboy_lil_mak dans le forum Bases de données
    Réponses: 7
    Dernier message: 09/12/2013, 20h26
  3. erreur de syntaxe dans select
    Par bzh56 dans le forum Requêtes
    Réponses: 3
    Dernier message: 07/07/2006, 13h39
  4. Erreur de syntaxe dans une requete
    Par linou dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/08/2005, 12h44
  5. [JSP]Erreur de syntaxe dans un tag <option select
    Par logica dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 03/05/2005, 14h33

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