Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/07/2007, 06:26
ciberpata
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 21 años, 10 meses
Puntos: 0
Una consulta en ACCESS toma como nombre de campo el caracter mayor que (>)

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
__________________

Espero haber aprendido algo de tí.
A mi padre.