Erreur de syntaxe dans l'opération JOIN vba/access

Fermé
bithack Messages postés 129 Date d'inscription mercredi 29 octobre 2014 Statut Membre Dernière intervention 16 mars 2016 - 23 juil. 2015 à 16:01
NHenry Messages postés 15214 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 16 avril 2025 - 1 août 2015 à 16:50
bonjour, lorsque je clique sur un bouton, il dit exécuter un code qui comprend une requête sql et remplir un état.
Le problème resortie est dans le titre "erreur de syntaxe dans l'opération JOIN"
voici mon code
Private Sub Ctl_Editions_LJ_Click()
On Error GoTo Err_Ctl_Editions_LJ_Click

Dim stDocName As String
Dim variable1 As String
Dim variable2 As String
Dim variable3 As String
Dim variable4 As String
Dim variable5 As String
Dim reqedition As String



variable1 = InputBox("date de début")
variable2 = InputBox("date de fin")
variable3 = InputBox("Saisissez LJD pour LJ Directes, Suite RJ pour Conversion,ou *ret* pour retour impayé et * pour Tout")
variable4 = InputBox("saisissez b pour bodac ou bodacc, a pour altares et pour tout")
variable5 = InputBox("Comme liqui* Ou Comme lj s*")
MsgBox variable1
MsgBox variable2

reqedition = " SELECT [histo st omer identifiés].RCS,[histo st omer identifiés].[N° CLIENT],[histo st omer identifiés].Region,[histo st omer identifiés].[Mdate effet],[histo st omer identifiés].[Dénomination officielle],[histo st omer identifiés].[code département],[histo st omer identifiés].[Libellé type de jugement],[histo st omer identifiés].[code origine du jugement],[histo st omer identifiés].[Nom de l'adm judiciaire 1],[histo st omer identifiés].[No rue adm judiciaire 1],[histo st omer identifiés].[lettre dans la rue adm judiciaire 1], [histo st omer identifiés].[voie adm judiciaire 1]," & _
"[histo st omer identifiés].[Complément postal adm judiciaire 1], [histo st omer identifiés].[acheminement postal adm judiciaire 1], [histo st omer identifiés].[code département adm judiciaire 1], [histo st omer identifiés].[libellé fonction adm judiciaire 2], [histo st omer identifiés].[Nom de l'adm judiciaire 2], [histo st omer identifiés].[Complément d'adresse adm judiciaire 2], [histo st omer identifiés].[no rue adm judiciaire 2]," & _
" [histo st omer identifiés].[lettre dans la rue adm judiciaire 2], [histo st omer identifiés].[voie adm judiciaire 2], [histo st omer identifiés].[Complément postal adm judiciaire 2], [client ft].[Date de suspension], [client ft].[Date de résiliation], [client ft].[montant déclaré LJ], [client ft].[montant déclaré RJ], [client ft].commentaires, [client ft].[agent cession], [histo st omer identifiés].[MDate publication]" & _
"FROM [histo st omer identifiés] INNER JOIN [client ft] ON [histo st omer identifiés].Clé = [client ft].Clé" & _
"WHERE (([histo st omer identifiés].[MDate publication]) Like variable1 and like variable2 ),(([histo st omer identifiés].[Libellé type de jugement]) Like variable5 ) AND (([histo st omer identifiés].[code origine du jugement]) Like variable3 Or ([histo st omer identifiés].[code origine du jugement]) Is Null));"

DoCmd.RunSQL (reqedition)

stDocName = "Editions des LJ à traiter"
DoCmd.OpenReport stDocName, acPreview

Exit_Ctl_Editions_LJ_Click:
Exit Sub

Err_Ctl_Editions_LJ_Click:
MsgBox Err.Description
Resume Exit_Ctl_Editions_LJ_Click

End Sub


merci de votre aide :)

ps: je suis sous access 2010 (je sais pas si ça joue)

1 réponse

NHenry Messages postés 15214 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 16 avril 2025 363
Modifié par NHenry le 25/07/2015 à 16:40
Bonjour,

Pour commencer, on évite de base de mettre des espaces et des caractères accentués (et non basiques tel que °) (ainsi que les ' et " ) dans les noms de champs et de tables.

Je pense que ton problème est que ta requête est de fait trop difficile à lire du fait de ces noms trop compliqués.

En essayant de ne garder que la requête, j'ai vu :
[client ft].Clé" & _
"WHERE
Pas d'espace entre "clé" et "WHERE"

Idem pour :
[MDate publication]" & _
"FROM

([histo st omer identifiés].[MDate publication]) Like variable1 and like variable2
Serait plus juste en :
([histo st omer identifiés].[MDate publication]) Like variable1 and ([histo st omer identifiés].[MDate publication]) like variable2

J'interviens principalement en VB6 et VB.NET, avec un peu de C#, mais la modération m'amène souvent sur d'autre langages.
En VB.NET pensez à activer "Option Explicit" et "Option Strict"
0
bithack Messages postés 129 Date d'inscription mercredi 29 octobre 2014 Statut Membre Dernière intervention 16 mars 2016 6
27 juil. 2015 à 10:26
Bonjour NHenry, tout d'abord merci de ta réponse !
Concernant les espaces ou caractères accentués je ne peux pas les modifier car trop de table si rapport et le changement mettrez au chômage de nombreux salariés ^^ De plus étant apprentis je n'ai pas ce pouvoir de décisions.

Ensuite au niveau du
[client ft].Clé" & _"WHERE
le
" &_"
symbolise le retour à la ligne et la séparation. Pareil pour
[MDate publication]" & _
"FROM


Ensuite merci pour ton conseil
([histo st omer identifiés].[MDate publication]) Like variable1 and like variable2
Serait plus juste en :
([histo st omer identifiés].[MDate publication]) Like variable1 and ([histo st omer identifiés].[MDate publication]) like variable2
que je vais mettre en application.

cordialement
0
NHenry Messages postés 15214 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 16 avril 2025 363
27 juil. 2015 à 13:37
Le " &_" te permet de faire des retour à la ligne dans ton code, mais pas dans la chaine.

"a" & _
"b"

Donnera "ab" sans espace.
Pour ajouter des retour à la ligne dans la chaine c'est " & VbCrLf & "
0
bithack Messages postés 129 Date d'inscription mercredi 29 octobre 2014 Statut Membre Dernière intervention 16 mars 2016 6
27 juil. 2015 à 13:52
j'ai déjà essayer et j'ai toujours une erreur de syntaxe avec le join
0
NHenry Messages postés 15214 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 16 avril 2025 363
27 juil. 2015 à 14:02
Peut-tu mettre le code de ta requête une fois tes modifications faites ?
Pour voir si le problème n'est pas aussi ailleurs.
0
bithack Messages postés 129 Date d'inscription mercredi 29 octobre 2014 Statut Membre Dernière intervention 16 mars 2016 6
27 juil. 2015 à 16:30
je vous les met demain
cordialement
0

Discussions similaires