[RESUELTO] Valor de un campo según una condición
[RESUELTO] Valor de un campo según una condición
Hola,
Estoy intentando sin fortuna hacer lo siguiente: Quiero hacer una tabla con un campo "horas" donde se ponen el número de horas de un curso y en otro campo "puntos" donde se tienen que reflejar los puntos que le corresponden según las horas que hemos puesto en el campo horas.
ejem. si el curso está entre 1 y 5 horas que el valor de puntos sea 0,10
si el curso está entre 6 y 10 horas que el valor de puntos sea 0,20 y así sucesivamente para luego poder sumar todos los puntos de los cursos.
Lo que no logro hacer es que si en un momento dado el valor de los cursos varía (ejem. el valor de el curso que está entre 1 y 5 horas pasa a valer 0,05 actualice todos los valores que están en esa franja y ponerle un tope, que si la suma de los cursos es 5 y el máximo que se puede valorar es 4, que en un campo donde se hayan sumado todos los puntos figure ese tope, 4)
He buscado en el foro, pero no he podido adaptar lo que he encontrado en CamposCalculados y GESTFORMULA.
Gracias.
Estoy intentando sin fortuna hacer lo siguiente: Quiero hacer una tabla con un campo "horas" donde se ponen el número de horas de un curso y en otro campo "puntos" donde se tienen que reflejar los puntos que le corresponden según las horas que hemos puesto en el campo horas.
ejem. si el curso está entre 1 y 5 horas que el valor de puntos sea 0,10
si el curso está entre 6 y 10 horas que el valor de puntos sea 0,20 y así sucesivamente para luego poder sumar todos los puntos de los cursos.
Lo que no logro hacer es que si en un momento dado el valor de los cursos varía (ejem. el valor de el curso que está entre 1 y 5 horas pasa a valer 0,05 actualice todos los valores que están en esa franja y ponerle un tope, que si la suma de los cursos es 5 y el máximo que se puede valorar es 4, que en un campo donde se hayan sumado todos los puntos figure ese tope, 4)
He buscado en el foro, pero no he podido adaptar lo que he encontrado en CamposCalculados y GESTFORMULA.
Gracias.
Última edición por jopicach el Lun Ene 30, 2017 9:43 pm, editado 1 vez en total.
LibreOffice versión: 7.0.5.2 (x64) - Windows 10 Pro 64 bits
Re: Valor de un campo según una condición
Hola,
Algo como esto te puede ayudar, es un campo calculado en una consulta, no en una tabla.. Puedes poner más condiciones con WHEN.
CASE WHEN "curso" > 1 AND "curso" < 5 THEN 0,10 WHEN "curso" > 5 AND "curso" < 11 THEN 0,20 ELSE 0 END
Saludos
Algo como esto te puede ayudar, es un campo calculado en una consulta, no en una tabla.. Puedes poner más condiciones con WHEN.
CASE WHEN "curso" > 1 AND "curso" < 5 THEN 0,10 WHEN "curso" > 5 AND "curso" < 11 THEN 0,20 ELSE 0 END
Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Re: Valor de un campo según una condición
Hola de nuevo,
Muchas gracias. Tu solución me parece fenomenal, pero no logro aplicarla, no se donde está el error, en la consulta me dice que la columna es desconocida. Adjunto el archivo.
Saludos.
Muchas gracias. Tu solución me parece fenomenal, pero no logro aplicarla, no se donde está el error, en la consulta me dice que la columna es desconocida. Adjunto el archivo.
Saludos.
- Adjuntos
-
- Puntos.zip
- (3.53 KiB) Descargado 118 veces
LibreOffice versión: 7.0.5.2 (x64) - Windows 10 Pro 64 bits
Re: Valor de un campo según una condición
Hola,
Tu BD no contiene ninguna tabla.
Saludos
Tu BD no contiene ninguna tabla.
Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Re: Valor de un campo según una condición
Hola,
Tiene una, "pruebapuntos y una consulta "cursos". La adjunto de nuevo
Saludos.
Tiene una, "pruebapuntos y una consulta "cursos". La adjunto de nuevo
Saludos.
- Adjuntos
-
- Puntos.zip
- (3.54 KiB) Descargado 116 veces
LibreOffice versión: 7.0.5.2 (x64) - Windows 10 Pro 64 bits
Re: Valor de un campo según una condición
Hola de nuevo,
He dado con la tecla. Se ha solucionado al poner un punto en vez de una coma en los decimales de la instrucción que facilitó RMG. Me ha quedado de la siguiente manera y funciona perfectamente (lo adjunto en una prueba)
CASE WHEN "curso" > 1 AND "curso" < 5 THEN 0.10 WHEN "curso" > 5 AND "curso" < 11 THEN 0.20 ELSE 0 END
Muchas gracias por todo y un saludo.
He dado con la tecla. Se ha solucionado al poner un punto en vez de una coma en los decimales de la instrucción que facilitó RMG. Me ha quedado de la siguiente manera y funciona perfectamente (lo adjunto en una prueba)
CASE WHEN "curso" > 1 AND "curso" < 5 THEN 0.10 WHEN "curso" > 5 AND "curso" < 11 THEN 0.20 ELSE 0 END
Muchas gracias por todo y un saludo.
- Adjuntos
-
- Puntos--.7z
- (3.6 KiB) Descargado 124 veces
LibreOffice versión: 7.0.5.2 (x64) - Windows 10 Pro 64 bits
Re: [RESUELTO] Valor de un campo según una condición
Hola,
Recuerda que también puedes asignar el valor de un campo. Supon que cargas los campos curso y puntos
CASE WHEN "curso" > 0 THEN "puntos" ELSE 0 END
Saludos
Recuerda que también puedes asignar el valor de un campo. Supon que cargas los campos curso y puntos
CASE WHEN "curso" > 0 THEN "puntos" ELSE 0 END
Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Re: [RESUELTO] Valor de un campo según una condición
Hola,
Perfecto. Muchas gracias de nuevo
Saludos
Perfecto. Muchas gracias de nuevo
Saludos
LibreOffice versión: 7.0.5.2 (x64) - Windows 10 Pro 64 bits