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 3075 opérateur absent


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 50
    Points : 49
    Points
    49
    Par défaut erreur 3075 opérateur absent
    Bonjour à tous !

    2ème problème aujourd'hui...La syntaxe , c'est un casse-tête...

    j'ai une instruction SQL comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    "SELECT [Produits].Nom du produit WHERE [Produits].Nom du produit  =  '" & rst1("Produit") & "' ;"
    Et ACCESS me dit erreur de syntaxe opérateur absent dans l'expression ci-dessus....

    La même expression fonctionne parfaitement 5 lignes plus haut...

    A n'y rien comprendre...Merci d'avance pour votre aide

    Fbourdon

  2. #2
    Membre actif

    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 175
    Points : 223
    Points
    223
    Par défaut
    Bonjour,

    Si tu espères que ce soit une requête, ce n'est pas étonnant que cela ne fonctionne pas.
    Tu n'aurais pas oublié une des clauses principales des requêtes ???
    La clause FROM ???
    Pourquoi faire aujourd'hui ce que l'on peut remettre à demain ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 50
    Points : 49
    Points
    49
    Par défaut
    Bonjour Nitromard

    Je viens de rajouter FROM , même message d'erreur....dans la clause WHERE...

    Merci par avance....

    fbourdon

  4. #4
    Membre actif

    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 175
    Points : 223
    Points
    223
    Par défaut
    Pourrais-tu mettre un bout de code un peu plus long, du genre ce que tu mets ds ta variable rst1.
    Parce que pour l'instant je ne vois pas trop à quoi sert ton rst1("Produit"), sauf si tu peux m'expliquer ^^
    Pourquoi faire aujourd'hui ce que l'on peut remettre à demain ?

  5. #5
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Bonjour à tous,
    Les 2 modifs ci-dessous devraient améliorer la syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "SELECT [Produits].[Nom du produit] FROM maTable WHERE [Produits].[Nom du produit]  =  '" & nz(rst1("Produit")) & "' ;"
    1 - Le pb principal est que ton nom de colonne contient des espaces, d'où besoin d'encadrer par des [

    2 - intérêt de cette requete ?
    "Always look at the bright side of life." Monty Python.

  6. #6
    Membre actif

    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 175
    Points : 223
    Points
    223
    Par défaut
    Ah oui punaise !!! J'avais même pas vu le problème d'espace...
    Je dois vraiment être crevé...
    Pourquoi faire aujourd'hui ce que l'on peut remettre à demain ?

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 50
    Points : 49
    Points
    49
    Par défaut
    Merci pour vos réponses....mais...

    Mettre des crochets autour de "Nom du produit", ne change rien ,c'est pire , il ne reconnaît même plus que c'est une instruction SQL...

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    rst1.MoveFirst
     
    Do While Not rst1.EOF
     
    sqlstring = "SELECT * into Temp from [Historique stock] WHERE [Historique stock].AAAAMMJJ <= '" & datecalcul & "' AND [Historique stock].Produit = '" & rst1("Produit") & "' ;"
     
     
     DoCmd.RunSQL sqlstring
     
     Set rst5 = db.OpenRecordset("Temp")
     
        Do While Not rst5.EOF
     
        If rst2("Quantité sortie") > 0 Then
        quantite = quantite - rst2("Quantité sortie")
        Else
        quantite = quantite + rst2("Quantité entrée")
        End If
     
        rst5.MoveNext
        Loop
        rst5.Close
     
        sqlstring2 = "SELECT * FROM [Produits] WHERE [Produits].Nom du produit = '" & rst1("Produit") & "' ;"
     
     
        Debug.Print sqlstring2
     
         DoCmd.RunSQL sqlstring2
    La première instruction SQL fonctionne parfaitement...mais pas la deuxième...
    rst1 c'est le fichier des différents produits et je vais chercher les records correspondants dans le fichier historique du stock...

    Merci d'avance...

    fbourdon

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 50
    Points : 49
    Points
    49
    Par défaut
    Bonjour à tous ,

    J'ai fait d'autres essais , sans rösultats...Quelqu'un a t'il une idée ?

    D'avance , Merci !

    fbourdon

  9. #9
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2008
    Messages : 97
    Points : 143
    Points
    143
    Par défaut
    Bonjour,

    Comme dit plus haut, Il faut mettre les crochets:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sqlstring2 = "SELECT * FROM [Produits] WHERE [Produits].[Nom du produit] = '" & rst1("Produit") & "' ;"

    Mais en plus tu ne peux pas utiliser DoCmd.RunSQL pour lancer la requête parce que c'est une requête de sélection.
    Les enregistrements retournés sont sensés aller où?

    rst1 c'est le fichier des différents produits et je vais chercher les records correspondants dans le fichier historique du stock...
    Qu'appelles tu "fichier", que veux tu faire exactement?
    Est ce que ta table "Temp" sert uniquement à remplir le recordset rst5?

Discussions similaires

  1. [AC-2010] (Erreur 3075) - Erreur de syntaxe (opérateur absent) dans l'expression "x x x".
    Par Aerial dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 07/12/2011, 16h38
  2. Erreur 3075(opérateur absent) sous Access2003
    Par eric89 dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 24/09/2010, 12h44
  3. erreur de syntaxe (opérateur absent)
    Par rcan7412 dans le forum Access
    Réponses: 1
    Dernier message: 28/03/2007, 17h52
  4. [Erreur de syntaxe (opérateur absent)] requête select
    Par wiss20000 dans le forum Requêtes et SQL.
    Réponses: 13
    Dernier message: 19/03/2007, 14h55
  5. Réponses: 9
    Dernier message: 12/07/2006, 13h42

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