Когда вы передаете строку в SQL Server, вам нужно заключить ее в одинарные кавычки.
Когда вы передаете число, вы не используете кавычки.
Итак, когда вы говорите (обобщая)
SELECT * FROM table WHERE filterColumn = filterID
Вы должны отправить номер.
Чтобы соответствовать строке:
SELECT * FROM table WHERE filterColumn = 'filterID'
Это предполагает, что вы решили любые другие проблемы, упомянутые комментаторами, о том, есть ли у вас значение в переменной filterID
. Я полностью согласен с рекомендацией использовать параметризованные запросы.
Редактировать : одинарные кавычки заключаются в двойные кавычки.
SQlQuery = "SELECT * FROM v_InternImport
WHERE iID IN (SELECT iID FROM v_InternImport
WHERE " & filterColmn & " = '" & filterID & "')"