SQL WHERE

Le
Chevrot
bonjour à tous,

Je dispose d'une requête issue de deux tables; l'une d'entre elles contient
un champ txt nommé "Finess". Je cherche, par un processus en boucle à
attribuer successivement à "Finess", les valeurs puisées dans une table
"Sélection établissement" contenant diverses valeurs pour "Finess", puis à
exécuter des instructions.

Ci dessous le processus que j'aic créé. Malheureusement une boite de message
sort:

Erreur d'exécution 3075

Erreur de syntaxe opérateur absent dans l'expression '[Synthèse
09].Finess=[Certification Evaluation].FinessWHERE (Synthèse
09].[Finess]0780154',


Pourriez vous m'indiquer l'erreur de syntaxe?

Sub Exécution()
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("Sélection établissement", dbOpenDynaset)
Dim db As DAO.Database
Dim SQL As String
Dim rq As DAO.QueryDef
Set db = CurrentDb()
rs.MoveLast
rs.MoveFirst

While Not rs.EOF

DoCmd.SetWarnings False

SQL = Left(db.QueryDefs("Util analyse certification").SQL,
InStrRev(db.QueryDefs("Util analyse certification").SQL, ";") - 1)
SQL = SQL & "WHERE [Synthèse 09].[Finess] =" & Replace(rs![Finess], ",",
".")
Set rq = db.CreateQueryDef("Util analyse certification 01", SQL)

DoCmd.OpenReport "CR autres", acViewNormal, "", "", acNormal
DoCmd.OpenReport "CR Certification", acViewNormal, "", "", acNormal
DoCmd.OpenReport "CR PMSI", acViewNormal, "", "", acNormal

DoCmd.DeleteObject acTable, "Util analyse certification 01"

DoCmd.SetWarnings True

rs.MoveNext

Wend

Set rq = Nothing
Set db = Nothing
rs.Close
Set rs = Nothing
End Sub


Merci d'avance

Chevrot
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
db
Le #20799661
Chevrot a écrit :
bonjour à tous,
Erreur de syntaxe opérateur absent dans l'expression '[Synthèse
09].Finess=[Certification Evaluation].FinessWHERE (Synthèse
09].[Finess]0780154',


Pourriez vous m'indiquer l'erreur de syntaxe?

SQL = Left(db.QueryDefs("Util analyse certification").SQL,
InStrRev(db.QueryDefs("Util analyse certification").SQL, ";") - 1)
SQL = SQL & "WHERE [Synthèse 09].[Finess] =" & Replace(rs![Finess], ",",
".")



Il faut rajouter une espace avant le WHERE :

SQL = SQL & " WHERE [Synthèse 09].[Finess] =" & Replace(rs![Finess],
",", ".")

db
Chevrot
Le #20809131
Merci; néanmoins il persiste une difficulté; le champ Finess est de format
txt et il apparaît dans la requête sans guillemets donc sous format num. Que
faire?

Merci

Chevrot

"db" a écrit :

Chevrot a écrit :
> bonjour à tous,
> Erreur de syntaxe opérateur absent dans l'expression '[Synthèse
> 09].Finess=[Certification Evaluation].FinessWHERE (Synthèse
> 09].[Finess]0780154',
>
>
> Pourriez vous m'indiquer l'erreur de syntaxe?
>
> SQL = Left(db.QueryDefs("Util analyse certification").SQL,
> InStrRev(db.QueryDefs("Util analyse certification").SQL, ";") - 1)
> SQL = SQL & "WHERE [Synthèse 09].[Finess] =" & Replace(rs![Finess], ",",
> ".")

Il faut rajouter une espace avant le WHERE :

SQL = SQL & " WHERE [Synthèse 09].[Finess] =" & Replace(rs![Finess],
",", ".")

db
.



Blaise Cacramp
Le #20812911
Selon : Bonjour ou bonsoir, db

Bravo pour l'espace féminine, c'est tellement rare (et HS)

Cdt, Blaise
---- ---- ----


"db" %
Chevrot a écrit :
bonjour à tous,
Erreur de syntaxe opérateur absent dans l'expression '[Synthèse
09].Finess=[Certification Evaluation].FinessWHERE (Synthèse
09].[Finess]0780154',


Pourriez vous m'indiquer l'erreur de syntaxe?

SQL = Left(db.QueryDefs("Util analyse certification").SQL,
InStrRev(db.QueryDefs("Util analyse certification").SQL, ";") - 1)
SQL = SQL & "WHERE [Synthèse 09].[Finess] =" & Replace(rs![Finess],
",", ".")



Il faut rajouter une espace avant le WHERE :

SQL = SQL & " WHERE [Synthèse 09].[Finess] =" & Replace(rs![Finess], ",",
".")

db


Blaise Cacramp
Le #20813001
Selon : Bonjour ou bonsoir

Remplacer au moins dans «InStrRev» les " par '


Cdt, Blaise
---- ---- ----


"Chevrot" news:
Merci; néanmoins il persiste une difficulté; le champ Finess est de format
txt et il apparaît dans la requête sans guillemets donc sous format num.
Que
faire?

Merci

Chevrot

"db" a écrit :

Chevrot a écrit :
> bonjour à tous,
> Erreur de syntaxe opérateur absent dans l'expression '[Synthèse
> 09].Finess=[Certification Evaluation].FinessWHERE (Synthèse
> 09].[Finess]0780154',
>
>
> Pourriez vous m'indiquer l'erreur de syntaxe?
>
> SQL = Left(db.QueryDefs("Util analyse certification").SQL,
> InStrRev(db.QueryDefs("Util analyse certification").SQL, ";") - 1)
> SQL = SQL & "WHERE [Synthèse 09].[Finess] =" & Replace(rs![Finess],
> ",",
> ".")

Il faut rajouter une espace avant le WHERE :

SQL = SQL & " WHERE [Synthèse 09].[Finess] =" & Replace(rs![Finess],
",", ".")

db
.





Publicité
Poster une réponse
Anonyme