Эта проблема - настоящая боль - я пережил ее, создавая некоторые абстракции базы данных. Оказывается, вы не можете привязать параметры неизвестного типа к объекту Command перед его выполнением, но вы можете отправлять массив аргументов неизвестного типа при его выполнении. Таким образом:
dim cmd: set cmd = Server.createObject("adodb.command")
cmd.commandText = "select * from Foo where Bar = ?"
set cmd.activeConnection = …
dim rs: set rs = cmd.execute(, Array(42))
Если вы хотите привязать аргументы неизвестного типа к команде, вам придется написать собственный класс команд, который использует этот подход внутри. В итоге я написал свой собственный класс абстракции базы данных, чтобы синтаксис запроса был:
dim rs: set rs = myDB.query("select * from Foo where Bar = ?", Array(42))