Access does not support BETWEEN in join clauses. From the documentation:
FROM table1 INNER JOIN table2 ON table1.field1 compopr table2.field2
The INNER JOIN operation has these parts:
Part | Description
---- | -------------
table1, table2 | The names of the tables from which records are combined.
field1, field2 | The names of the fields that are joined. If they are not numeric, the fields must be of the same data type and contain the same kind of data, but they do not have to have the same name.
compopr | Any relational comparison operator: "=," "<," ">," "<=," ">=," or "<>."
You can, however, specify multiple join conditions, so you should be able to do:
select
a.student_name, a.test_score, b.letter_grade
from
sec1311_student_scores a
inner join
sec1311_grade_ranges b on a.testscore >= b.beginning_score
and on a.testscore <= b.endingscore
order by
a.student_name;
coalesce(b.beginning_score,0) and coalesce(b.endingscore,0)? or should the last score always be 100 or something?z BETWEEN x AND yclause to be enclosed in parentheses(z BETWEEN x AND y)