[RESUELTO] UPDATE con CASE WHEN o con IF
Publicado: Lun Feb 11, 2019 1:42 pm
Buenos días:
Estoy intentando hacar una actualización de datos en una tabla de forma condicionada.
Necesito hacer lo siguiente:
Si FECHA_BAJA IS NULL (O VACIA) ' Fecha_Baja es un campo que ya existe en la tabla
....... FECHA_HASTA = FECHA_FIN ' Fecha_Fin es un campo de la consulta creado a partir del contenido de una caja de texto del formulario
ELSE
....... Si FECHA_BAJA < FECHA_FIN
............. FECHA_HASTA = FECHA_BAJA ' Fecha_Hasta es el campo al que queremos dar valor con un UPDATE y Fecha_Baja es un campo que ya existe en la tabla
....... ELSE
............. FECHA_HASTA = FECHA_FIN
....... END
END
Esto se haría sobre la tabla 'datosfechas' para todos los registros de la tabla. Todos los campos citados son de esta tabla.
Pero he de hacerlo en una macro, para que lo pueda hacer el usuario, ya que los campos FECHA_FIN es un campo creado para la consulta desde una caja de texto del formulario
frmFechas y FECHA_BAJA es un campo de la tabla que no siempre tendrá el mismo contenido
y además se irán añadiendo registros nuevos a la tabla en los que de entrada FECHA_BAJA y FECHA_FIN estarán vacíos e irán tomando valores con el paso del tiempo
cuando proceda.
Vemos que siempre es el campo FECHA_HASTA el que cambiará con los contenidos del campo que corresponda según las condiciones expuestas, pues es el campo al que
queremos hacer el UPDATE.
En la macro se modifica la consulta.
Trabajo con OpenOffice 4.1.5
Saludos y gracias anticipadas.
Estoy intentando hacar una actualización de datos en una tabla de forma condicionada.
Necesito hacer lo siguiente:
Si FECHA_BAJA IS NULL (O VACIA) ' Fecha_Baja es un campo que ya existe en la tabla
....... FECHA_HASTA = FECHA_FIN ' Fecha_Fin es un campo de la consulta creado a partir del contenido de una caja de texto del formulario
ELSE
....... Si FECHA_BAJA < FECHA_FIN
............. FECHA_HASTA = FECHA_BAJA ' Fecha_Hasta es el campo al que queremos dar valor con un UPDATE y Fecha_Baja es un campo que ya existe en la tabla
....... ELSE
............. FECHA_HASTA = FECHA_FIN
....... END
END
Esto se haría sobre la tabla 'datosfechas' para todos los registros de la tabla. Todos los campos citados son de esta tabla.
Pero he de hacerlo en una macro, para que lo pueda hacer el usuario, ya que los campos FECHA_FIN es un campo creado para la consulta desde una caja de texto del formulario
frmFechas y FECHA_BAJA es un campo de la tabla que no siempre tendrá el mismo contenido
y además se irán añadiendo registros nuevos a la tabla en los que de entrada FECHA_BAJA y FECHA_FIN estarán vacíos e irán tomando valores con el paso del tiempo
cuando proceda.
Vemos que siempre es el campo FECHA_HASTA el que cambiará con los contenidos del campo que corresponda según las condiciones expuestas, pues es el campo al que
queremos hacer el UPDATE.
En la macro se modifica la consulta.
Trabajo con OpenOffice 4.1.5
Saludos y gracias anticipadas.