Un saludo:
Resulta que tengo unas lineas que construyen una consulta en función de los campos que vienen de un formulario.
La consulta funciona perfectamente salvo cuando pongo como parte del filtro una condición que incluye que la fecha de inicio es mayor que .... utilizando el caracter ">" (mayor que).
Cuando visualizo el filtro aparantemente construye bien la sentencia SQL pero luego me devuelve el siguiente error:
--------------------------------
El filtro vale: referenciaasesoria=34 and fechainicioprorroga>=#15/12/2001#
ADODB.Recordset error '800a0cc1' No se encontró el elemento en la colección que corresponde con el nombre o el ordinal pedido. /gestion_web/extranet/prorrogas/modificar_ver/modificar_ver_prorrogas_result.asp, line 128
--------------------------------
Supongo entonces que toma el caracter ">" (mayor que) por un nombre de campo.
El código es:
Código:
if insertar=true then
Poner_AND= False
Filtro= ""
FOR EACH Parametro IN Request.Form
IF Request.Form (Parametro) <> "" then
IF Poner_AND THEN
Select Case Parametro
Case "fechainicioprorroga"
'response.write "1 <br>"
Filtro= Filtro & " AND " & Parametro & ">=#"
Filtro= Filtro & Request.Form (Parametro) & "#"
Case "fechafinprorroga"
Filtro= Filtro & " AND " & Parametro & "<=#"
Filtro= Filtro & Request.Form (Parametro) & "#"
Case Else
'Filtro= Filtro & " AND " & Parametro & "='"
'Filtro= Filtro & Request.Form (Parametro) & "'"
Filtro= Filtro & " AND " & Parametro & "="
Filtro= Filtro & Request.Form (Parametro)
End Select
ELSE
'Filtro= Filtro & Parametro & "='"
Filtro= Filtro & Parametro & "="
'Filtro= Filtro & Request.Form (Parametro) & "'"
Filtro= Filtro & Request.Form (Parametro) & ""
Poner_AND = True
END IF
END IF
NEXT
Filtro= LCase (Filtro)
RsProrrogas.Filter = Filtro
response.write "El filtro vale: " & filtro & "<br>"
RsProrrogas.open "select * from prorrogas where " & filtro & " order by referenciaalumno"
Alguien puede ayudarme?. Me está volviendo loco.
Gracias a todos