Por que isso funciona
cmd1.Parameters.Append cmd1.CreateParameter("@codigoMunicipio", 3, 1, 16, codMunicipio)
Mas isso não funciona?
cmd1.Parameters.Append cmd1.CreateParameter("@codigoMunicipio", adInteger, adParamInput, 16, codMunicipio)
O erro é
ADODB.Command erro '800a0bb9'
Os argumentos são incorretos, estão fora do intervalo aceitável ou estão em conflito.