Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/12/2005, 16:14
ciberpata
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 21 años, 11 meses
Puntos: 0
Construcción de sentencia SQL desde un formulario

Un saludo:
Quiero construir una sentencia SQL en base a los datos enviados por un formulario. Como mi servidor está en ingles tengo que utilizar una función para poner la fecha en formato canónico.

Las funciones que uso para esto son fechavalidezofertafuncion y fechapublicacionofertafuncion

No hay problema si entre los parametros que llegan del formulario está la fechapublicacionoferta o la fechavalidezoferta. Ahora bien si vienen los dos juntos entonces en vez de cogerme los valores de las funciones me agarra los valores provenientes del formulario.


Lo que intento decirle a la DB ACCESS es lo siguiente:

"Cuando te lleguen del formulario los campos fechapublicacionoferta y fechavalidezoferta" en vez de coger el valor del campo en el formulario, debes coger el valor de la funcion fechapublicacionfertafuncion y fechavalidezofertafuncion. Para los demás campos del formulario debes coger el valor que te llega de ese formulario".


El asunto es que llevo varias horas y no doy con la construcción de la sentencia para realizar esto, ¿pueden echarme una mano?. Les paso el código que creo que deberia realizar esto, pero que obviamente no lo hace puesto que está mal. (ya he dejado de echarle la culpa a microsoft de todo, algo voy aprendiendo, creo).

Código
--------
Código:
 
Poner_AND= False
 Filtro= ""
 FOR EACH Parametro IN Request.Form
  IF Request.Form (Parametro) <> "" then 
   IF Poner_AND THEN
    Filtro= Filtro & " AND " & Parametro & "='"
 
    if parametro <> "fechavalidezoferta" or parametro <> "fechapublicacionoferta" then
     Filtro= Filtro & Request.Form (Parametro) & "'"
    else
 
     if parametro="fechavalidezoferta" then
      Filtro= Filtro & fechavalidezofertafuncion & "'"
     end if
     if parametro="fechapublicacionoferta" then
      Filtro=Filtro & fechapublicacionofertafuncion & "'" 
     end if
    end if
 
   ELSE
    Filtro= Filtro & Parametro & "='"
    if parametro <> "fechavalidezoferta" or parametro <> "fechapublicacionoferta" then
     Filtro= Filtro & Request.Form (Parametro) & "'"
    else
 
     if  parametro = "fechapublicacionoferta" then
      Filtro= Filtro & Fechapublicacionofertafuncion & "'"
     end if
     if  parametro = "fechavalidezoferta" then
      Filtro= Filtro & Fechavalidezofertafuncion & "'"
     End if
    END IF
    Poner_AND = True
   END IF
  END IF 
 NEXT
-----
Fin Código

Muchas gracias
__________________

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

Última edición por ciberpata; 07/12/2005 a las 16:24