Это не так, как работает функция LIKE
. Во-первых, '*' - это подстановочный знак, соответствующий любому количеству символов, поэтому он не будет совпадать с символом.
Во-вторых, из файла справки:
cExpression2 должен совпадать с буквой cExpression1 для буквы, чтобы LIKE () мог возвращать true (.T.).
Если вы хотите проверить, является ли первый символ '*', это будет работать и должно быть легче для понимания.
IF LEFT(cFilterprodname, 1) == "*"
MESSAGEBOX("* found in the beginning")
ELSE
MESSAGEBOX("* not found in the beginning")
ENDIF