访问 SQL:文本框后的单字符通配符

Access SQL: Single Character Wildcard Following Textbox

我想生成一份报告,显示某个年级的所有 classes。我的数据从第 1 年到第 12 年,classes 从 A 到 H。因此,例如,它从 1A 开始到 12H 结束。

我写了下面的 SQL 代码是为了 return 某个年级的所有 classes 但我 运行 遇到了一个我知道的问题我会遇到。我的代码如下:(注意,txtYearLevel 是一个文本框,用户可以在其中输入他们希望查看 classes 的年份级别)

SELECT [form classes].[Form Class]
FROM [form classes]
WHERE [form classes].[Form Class] like Forms![navigation form]![navigationsubform].Form!txtYearLevel & "_";

^ 这个 return 没有结果。我想我应该使用这样的方法,因为 _ 表示单个通配符。 (所以这适用于个位数的年份水平,我会编写类似的代码来处理两位数的年份水平)

我也试过:

SELECT [form classes].[Form Class]
FROM [form classes]
WHERE [form classes].[Form Class] like Forms![navigation form]![navigationsubform].Form!txtYearLevel & "*";

^ 这 return 的结果。但是,例如,如果我输入“1”,我会得到第 1、10、11 和 12 年的所有 classes。

本质上,我想找到一种方法来区分单个数字 classes 和双位数 classes,这样它们就不会出现在搜索中,除非我专门寻找一个双位数 class(例如输入“12”)。

谢谢!

在 Access SQL 中,? 是单个字符的通配符,而不是 _

所以 -

SELECT [form classes].[Form Class]
FROM [form classes]
WHERE [form classes].[Form Class] LIKE 
    Forms![navigation form]![navigationsubform].Form!txtYearLevel & "?";