В моем случае, чтобы избежать подобных неудобств, я делаю следующее, я надеюсь, что это сработает для вас:
var_name = iif(vartype(var_name)=='N',var_name,Val(var_name))
, чтобы вы избежали двух возможных ошибок, если они приходят в символ со значением, я конвертирую его вчисло, и если оно входит в символ без значения, оно становится 0.
SELECT *
FROM [some-table]
WHERE id = ?Var_name