Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/07/2011, 14h34   #1
Futur Membre du Club
 
François Bourdon
Inscription : avril 2008
Messages : 50
Détails du profil
Informations personnelles :
Nom : François Bourdon
Âge : 61

Informations forums :
Inscription : avril 2008
Messages : 50
Points : 16
Points : 16
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 :
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
fbourdon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 15h42   #2
Membre actif
 
Homme Quentin D.
Étudiant
Inscription : avril 2011
Messages : 175
Détails du profil
Informations personnelles :
Nom : Homme Quentin D.
Âge : 25
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : avril 2011
Messages : 175
Points : 165
Points : 165
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 ?
Nitromard est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 25/07/2011, 15h47   #3
Futur Membre du Club
 
François Bourdon
Inscription : avril 2008
Messages : 50
Détails du profil
Informations personnelles :
Nom : François Bourdon
Âge : 61

Informations forums :
Inscription : avril 2008
Messages : 50
Points : 16
Points : 16
Bonjour Nitromard

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

Merci par avance....

fbourdon
fbourdon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 15h56   #4
Membre actif
 
Homme Quentin D.
Étudiant
Inscription : avril 2011
Messages : 175
Détails du profil
Informations personnelles :
Nom : Homme Quentin D.
Âge : 25
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : avril 2011
Messages : 175
Points : 165
Points : 165
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 ?
Nitromard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 16h01   #5
Membre Expert
 
Homme Michel
Ingénieur développement logiciels
Inscription : mai 2005
Messages : 1 584
Détails du profil
Informations personnelles :
Nom : Homme Michel
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2005
Messages : 1 584
Points : 2 143
Points : 2 143
Bonjour à tous,
Les 2 modifs ci-dessous devraient améliorer la syntaxe :
Code :
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 ?
__________________
"tout le monde veut sauver la planète, mais personne ne veut descendre les poubelles." J Yanne
micniv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 16h06   #6
Membre actif
 
Homme Quentin D.
Étudiant
Inscription : avril 2011
Messages : 175
Détails du profil
Informations personnelles :
Nom : Homme Quentin D.
Âge : 25
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : avril 2011
Messages : 175
Points : 165
Points : 165
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 ?
Nitromard est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 25/07/2011, 16h45   #7
Futur Membre du Club
 
François Bourdon
Inscription : avril 2008
Messages : 50
Détails du profil
Informations personnelles :
Nom : François Bourdon
Âge : 61

Informations forums :
Inscription : avril 2008
Messages : 50
Points : 16
Points : 16
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 :
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
fbourdon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 11h20   #8
Futur Membre du Club
 
François Bourdon
Inscription : avril 2008
Messages : 50
Détails du profil
Informations personnelles :
Nom : François Bourdon
Âge : 61

Informations forums :
Inscription : avril 2008
Messages : 50
Points : 16
Points : 16
Bonjour à tous ,

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

D'avance , Merci !

fbourdon
fbourdon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 14h28   #9
Membre régulier
 
Homme Michaël
Développeur .NET
Inscription : avril 2008
Messages : 80
Détails du profil
Informations personnelles :
Nom : Homme Michaël
Âge : 30
Localisation : Belgique

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

Informations forums :
Inscription : avril 2008
Messages : 80
Points : 84
Points : 84
Bonjour,

Comme dit plus haut, Il faut mettre les crochets:

Code :
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ù?

Citation:
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?
mkl238 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h04.


 
 
 
 
Partenaires

Hébergement Web