Непонятно почему код приравнивается к разным данным: WHERE [Код]= & Код And [Код]=" & Страна. Логика должна быть более понятной. Если нужно приравнять КодСтраны, то и указывать нужно его, если страна то переменную нужно указать в кавычках. Во внешних функциях, которые используются в запросах должны использоваться переменные типа Variant, т.к. если указать точную переменную Long или String, в случае если в поле будет NULL, то при передаче параметров в функцию произойдет ошибка.