У меня возникли проблемы с моим LIKE в этом SQL. Я не уверен, что это даже возможно. Я искал все возможные способы заставить LIKE работать так, как хотелось бы, чтобы он работал, но не может найти решение. Мои проблемы заключаются в том, что поле [program] не написано точно так же в таблице CFRRR (где a и b получают свои значения), поскольку это написано в таблице посещаемости. Например: в таблице программа CFRRR может быть CW/CF или MC/CF или только CW и т. Д. Но в таблице посещаемости Программы могут быть написаны CW/MC/CF. Из-за этого код не выбирает запись.LIKE решение для SQL MS Access
Возможно ли, что код может считать, что оба имеют CW или оба имеют CF в значениях?
a = Program
b = language
Set db = CurrentDb
strSQL = "SELECT TOP 1 userID
FROM attendance
where attendance.Programs LIKE '%" & a & "'
AND attendance.Language LIKE '*" & b & "*'
AND attendance.Status = 'Available'
AND attendance.Tracking = 0"
Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)
Зачем использовать LIKE? Просто создайте рабочую таблицу со всеми возможными значениями (для меня это выглядит как 2^3 + 2^2 + 2 = 13) и сделайте простой INNER JOIN. Помните, что LIKE - это * не * регулярный синтаксический анализатор даже в диалоговом диалекте SQL всех тел. –