VB6 + SQL-Server: ¿Cómo puedo ejecutar una consulta con parámetros nombrados utilizando ADODB.Command?

He estado tratando de ejecutar una consulta parametrizada con ADODB.Command. Sé que puedo usar "?" para los parámetros, pero mis consultas son bastante grandes y realmente no quiero seguir el orden exacto de los parámetros. Intenté algo como lo siguiente:

objCmd.CommandType = adCmdText
objCmd.CommandText = "SELECT ... WHERE field1=@p_Field1 ...."    
Dim objParam As ADODB.Parameter
Set objParam = objCmd.CreateParameter("@p_Field1" ...)
objCmd.Parameters.Append objParam
...
objCmd.Open

Funciona para los parámetros de procedimientos almacenados (configurando CommandType = adCmdStoredProc, obviamente), pero no puedo hacer esto dentro de un procedimiento almacenado debido a la naturaleza dinámica de la consulta en sí. Cuando intento ejecutar la consulta, aparece el error:

 Must declare the scalar variable "@p_Field1"

¿Hay alguna otra forma de evitar esto que no implique el uso de procedimientos almacenados o (argh) concatenar los valores de los parámetros en la consulta en sí y no usarlos en absoluto?

Respuestas a la pregunta(5)

Su respuesta a la pregunta