Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Requête SQL SELECT FROM OK, problème avec WHERE

4 réponses
Avatar
Pascal Falcy
Bonjour,

Je fais une requête SQL dans Access 2003 (en utilisant ADO) et si mon code
marche bien, j'ai l'erreur suivante :

Erreur d'exécution '2147217900 (80040e14)':

Erreur de syntaxe (opérateur absent) dans l'expression
'[Titre_Lettre]=Courrier 2003 pour fax'.

Voici le code qui bloque et en fin de message vous trouverez l'entier du code.

strSQL = "SELECT * FROM dbo_TableLettres " _
& "WHERE [Titre_Lettre]=" & Forms![Choix d'une lettre ou d'un fax].[Type
Lettre]

Quand j’utilise que la fonction SELECT c’est OK, mais je n’arrive pas à
utiliser WHERE …

Merci d'avance pour votre aide car je commence à ...


Code complet :

Private Sub Lettre_Word_Click()
Dim objWord As Word.Application
Dim doc As Word.Document
Dim rst As New ADODB.Recordset
'Dim rst As DAO.Recordset
Dim strSQL As String
Dim strNomSociete As String
Dim strTitre As String
Dim strNom As String
Dim strRue As String
Dim strCP As String
Dim strNPA As String
Dim strVille As String
Dim strResp As String
Dim strInitiales As String
Dim strP1 As String
Dim strP2 As String
Dim strP3 As String
Dim strP4 As String
Dim strAS As String
Dim strAPS As String
Dim strAnnexe As String
Dim strDate As Date
Dim strSujet As String


strSujet = Forms![Choix d'une lettre ou d'un fax]![Sujet]
strNomSociete = Forms![Manifestation]![CLI Nom]
strDate = Forms![Choix d'une lettre ou d'un fax]![EVE_Date]

strSQL = "SELECT * FROM dbo_adresses_clients " _
& "WHERE [CLI_ID]=" & Forms![Manifestation]![CLI ID]
rst.Open strSQL, CurrentProject.Connection, adOpenStatic, adLockReadOnly
'Set rst = CurrentDb.OpenRecordset(strSQL)
With rst
strTitre = Nz(.Fields("Adr_cli_Titre"))
strNom = Nz(.Fields("Adr_cli_Nom"))
strRue = Nz(.Fields("Adr_cli_Rue"))
strCP = Nz(.Fields("Adr_cli_CP"))
strNPA = Nz(.Fields("Adr_cli_NPA"))
strVille = Nz(.Fields("Adr_cli_Ville"))
.Close
End With

strSQL = "SELECT * FROM Resp_dossier "
rst.Open strSQL, CurrentProject.Connection, adOpenStatic, adLockReadOnly
'Set rst = CurrentDb.OpenRecordset(strSQL)
With rst
strInitiales = Nz(.Fields("Initiales"))
strResp = Nz(.Fields("Nom et prénom"))
.Close
End With

strSQL = "SELECT * FROM dbo_TableLettres " _
& "WHERE [Titre_Lettre]=" & Forms![Choix d'une lettre ou d'un fax].[Type
Lettre]
rst.Open strSQL
'Set rst = CurrentDb.OpenRecordset(strSQL)
With rst
strP1 = Nz(.Fields("Paragraphe1"))
strP2 = Nz(.Fields("Paragraphe2"))
strP3 = Nz(.Fields("Paragraphe3"))
strP4 = Nz(.Fields("Paragraphe4"))
strAS = Nz(.Fields("Avant_salutations"))
strAPS = Nz(.Fields("Apres_salutations"))
strAnnexe = Nz(.Fields("Annexe"))
strTitreLettre = Nz(.Fields("Titre_lettre"))
.Close
End With

4 réponses

Avatar
Raymond [mvp]
Bonjour.

essaie:
strSQL = "SELECT * FROM dbo_TableLettres " _
& "WHERE [Titre_Lettre]='" & Forms![Choix d'une lettre ou d'un fax].[Type
Lettre] & "'"


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Pascal Falcy" a écrit dans le
message de news:
Bonjour,

Je fais une requête SQL dans Access 2003 (en utilisant ADO) et si mon code
marche bien, j'ai l'erreur suivante :

Erreur d'exécution '2147217900 (80040e14)':

Erreur de syntaxe (opérateur absent) dans l'expression
'[Titre_Lettre]=Courrier 2003 pour fax'.

Voici le code qui bloque et en fin de message vous trouverez l'entier du
code.

strSQL = "SELECT * FROM dbo_TableLettres " _
& "WHERE [Titre_Lettre]=" & Forms![Choix d'une lettre ou d'un fax].[Type
Lettre]

Quand j'utilise que la fonction SELECT c'est OK, mais je n'arrive pas à
utiliser WHERE .

Merci d'avance pour votre aide car je commence à ...



Avatar
Pascal Falcy
T'est super, du premier coup, quand je pense que j'ai planché dessus 3 heures
...

Merci, merci, merci.


Bonjour.

essaie:
strSQL = "SELECT * FROM dbo_TableLettres " _
& "WHERE [Titre_Lettre]='" & Forms![Choix d'une lettre ou d'un fax].[Type
Lettre] & "'"


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Pascal Falcy" a écrit dans le
message de news:
Bonjour,

Je fais une requête SQL dans Access 2003 (en utilisant ADO) et si mon code
marche bien, j'ai l'erreur suivante :

Erreur d'exécution '2147217900 (80040e14)':

Erreur de syntaxe (opérateur absent) dans l'expression
'[Titre_Lettre]=Courrier 2003 pour fax'.

Voici le code qui bloque et en fin de message vous trouverez l'entier du
code.

strSQL = "SELECT * FROM dbo_TableLettres " _
& "WHERE [Titre_Lettre]=" & Forms![Choix d'une lettre ou d'un fax].[Type
Lettre]

Quand j'utilise que la fonction SELECT c'est OK, mais je n'arrive pas à
utiliser WHERE .

Merci d'avance pour votre aide car je commence à ...








Avatar
Jessy Sempere [MVP]
Bonjour

Je rajouterais juste de faire attention, si tu as une apostrophe dans ton
critère,
tu auras des problèmes....

Essais plutôt :

strSQL = "SELECT * FROM dbo_TableLettres " _
& "WHERE [Titre_Lettre]=""" & Forms![Choix d'une lettre ou d'un fax].[Type
Lettre] & """"

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Pascal Falcy" <pascal(spam)@falcy.ch> a écrit dans le message news:

T'est super, du premier coup, quand je pense que j'ai planché dessus 3
heures

...

Merci, merci, merci.



Avatar
Pascal Falcy
Merci à vous deux, une question quel bon livre ou site lire pour se former,
car malgré que j'ai une dizaine de livre sur la programmation Access, je ne
trouve pas un livre vraiment complet sur les requêtes ...

Pascal


Bonjour

Je rajouterais juste de faire attention, si tu as une apostrophe dans ton
critère,
tu auras des problèmes....

Essais plutôt :

strSQL = "SELECT * FROM dbo_TableLettres " _
& "WHERE [Titre_Lettre]=""" & Forms![Choix d'une lettre ou d'un fax].[Type
Lettre] & """"

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Pascal Falcy" <pascal(spam)@falcy.ch> a écrit dans le message news:

T'est super, du premier coup, quand je pense que j'ai planché dessus 3
heures

...

Merci, merci, merci.