Déclaration de jointure multiple SQL

Lorsque je n’avais qu’une seule jointure interne dans mon instruction SQL, cela fonctionnait parfaitement. J’ai essayé de joindre une deuxième table, et je reçois maintenant une erreur qui indique une erreur de syntaxe (opérateur manquant). Qu’est-ce qui ne va pas ici?

adsFormView.SelectCommand = "SELECT * FROM [tableCourse] INNER JOIN [tableGrade] ON [tableCourse].[grading] = [tableGrade].[id] INNER JOIN [tableCourseType] ON [tableCourse].[course_type] = [tableCourseType].[id] WHERE [prefix]='" & myPrefix & "' AND [course_number]='" & myCourseNum & "'" 

Pour les jointures multi-tables, vous devez imbriquer les jointures supplémentaires entre parenthèses:

 SELECT ... FROM ((origintable JOIN jointable1 ON ...) JOIN jointable2 ON ...) JOIN jointable3 ON ... 

fondamentalement, pour chaque table supplémentaire que vous rejoignez après la première, vous avez besoin d’une parenthèse avant la table ‘FROM’ d’origine, et d’une parenthèse de fermeture sur la clause JOIN ‘on’ correspondante.

MS Access (spécifiquement, Jet / ACE) requirejs des parenthèses avec plusieurs jointures. Essayer:

 adsFormView.SelectCommand = _ " SELECT * FROM ([tableCourse] " & _ " INNER JOIN [tableGrade] " & _ " ON [tableCourse].[grading] = [tableGrade].[id]) " & _ " INNER JOIN [tableCourseType] " & _ " ON [tableCourse].[course_type] = [tableCourseType].[id] " & _ " WHERE [prefix]='" & myPrefix & "'" & _ " AND [course_number]='" & myCourseNum & "'"