我需要运行一个查询,用户输入一个字符串,然后查询返回任何记录,其中数据的任何部分都与字符串匹配。例如,参数" w"会回来" wa"," ew"等我可以轻松地做到这一点:
SELECT
getSourceID.Title, getSourceID.Author,
word.form, word.gloss, word.pageNumber,
getSourceID.Publication
FROM
getSourceID
INNER JOIN
word ON getSourceID.[ID] = word.[source]
WHERE
(((word.form) LIKE "*" & Forms!FsearchByForm!contains & "*")
AND ((getSourceID.Publication) Between Forms!FsearchByForm!minYear And Forms!FsearchByForm!maxYear));
但是我的SQL并不是很好。我需要对此进行扩展,以便V和C分别代表元音或辅音,即参数" Vw"将返回记录中包含" aw"," ow"等的任何实例。
有没有办法将其实现为WHERE
子句?
答案 0 :(得分:2)
您可以使用Like
模式中的字符范围...
SELECT
"abc" Like "*[aeiouy]*" AS test_true,
"bcd" Like "*[aeiouy]*" AS test_false
同样的技术适用于WHERE
子句。但我不确定当模式来自文本框(Forms!FsearchByForm!contains
)时如何应用它。
也许你可以对文本框值进行Replace()
,并找出一种方法来区分 V 是什么意思是一个元音占位符,什么时候它应该只是字母 V 。