Problema con búsqueda en campo tipo MONEY
Hola a todos/as, qué tal?
Tengo un problema con los campos de una BD SQL Server que son de tipo MONEY, resulta que al realizar búsquedas en ellos, me devuelve un error.
Veréis, recojo un valor mediante un formulario y entonces ejecuto una sentencia sql en la página para que busque en la tabla los valores iguales al recogido, de esta forma:
campo = Request.QueryString("campo")
criterio = CInt(Request.QueryString("criterio"))
strsql = "SELECT Producto.Num_Producto, Producto.Descripcion, Producto.Marca, Producto.Formato, Producto.Ref_Proveedor, Producto.PVP_Recomendado, Prod_Stock.Stock_Disponible, Tarifa.Precio FROM Producto INNER JOIN Prod_Stock ON Producto.Num_Producto = Prod_Stock.Num_Producto INNER JOIN Tarifa ON Producto.Num_Producto = Tarifa.Num_Producto WHERE " & campo & " = " & criterio & ""
Donde campo es el campo en el que busca (tipo MONEY) y criterio es el valor introducido. Me devuelve el siguiente error:
Tipo de error:
Microsoft OLE DB Provider for SQL Server (0x80040E14)
No se permite la conversión implícita del tipo de datos money a varchar. Utilice la función CONVERT para ejecutar esta consulta.
He estado probando la función CONVERT en la sentencia SQL, pero tal vez la he usado mal porque no me ha dado ningún resultado positivo. He tratado de convertir el dato previamente con CInt e incluso CStr, pero nada.
Se os ocurre algo? Muchísimas gracias anticipadas!
|