Cálculo del IMC con condición

Voy a intentar explicarme para así que podáis intentar ayudarme.

Estoy calculando el Índice de Masa Corporal, hasta hay ningún problema, el tema viene en todas las condiciones que se han de tratar.

El índice de masa corporal lo saco al multiplicar la altura al cuadrado (que esta en una caja de texto ) por el peso (que esta en otra caja de texto) y el resultado lo coloco en una tercera caja texto.

El problema viene ahora ya que dependiendo de un resultado u otro tiene una condición, os la pongo aquí para que lo entendáis.

15 o menos Delgadez muy severa

15 a 15,9             Delgadez severa

16 a 18,4             Delgadez

18,5 a 24,9          Peso saludable

25 a 29,9             Sobrepeso

30 a 34,9             Obesidad moderada

35 a 39,9             Obesidad severa

40 o más Obesidad muy severa (obesidad mórbida)

Y hay radica el problema que no se como dar la doble condición cuando esta entre dos valores.

Respuesta
1

Tengo un textbox para poner el peso, otro textbox para poner la altura y un tercer textbox con el resultado, entonces eso debería de salir en un cuarto textbox

Chicos haya paz con la que está cayendo con lo del COVID

2 respuestas más de otros expertos

Respuesta
3

Le he preparado este ejemplo con una función, una consulta y un formulario para obtener el IMC. En este tipo de condiciones no se debe utilizar IF ELSE IF recomiendo utilizar la sentencia SELECT CASE.

TABLA DE PESOS

CONSULTA SOBRE LA TABLA tbl_imc CON LA FUNCIÓN imc()

RESULTADO DE LA CONSULTA

Observe el IMC de cada paciente, es calculado con la llamada a la función imc()

Calculo desde un formulario

El formulario consta de 3 campos:

CltPeso, ctlAltura y ctlIMC para registrar el resultado.

CÓDIGO DEL BOTON Calcular IMC

CÓDIGO DE LA FUNCIÓN

Este código debe estar en un módulo, así puede llamar la función desde cualquier parte.

Espero le sirva, si quiere el ejemplo escríbame a [email protected] y con gusto se lo envío. Favor anotar en el asunto en nombre de la consulta.

¡Gracias! 

No sé porque a Julián González Cabarcos le molesta cuando se responde mejor que él, no importa si elaboré el ejemplo con Double y no con Simple, muchas veces por el afán de dar una respuesta respondemos lo primero que nos viene a la cabeza. Estoy de acuerdo que se recomiende y no exponga vulgarmente un concepto.

Si de retos se trata invito al señor González a que nos hagamos cualquier tipo de pregunta en Access a ver quien sabe más o menos, por ejemplo, que mi dice si nos preguntamos sobre la vinculación y uso de Access con servidores de datos como PostgreSQL, así que si quiere iniciemos preguntas y respuestas directamente por los correos, el mío es [email protected].

Respuesta
1

La pregunta es ¿Dónde quieres que aparezca lo de Delgadez Severa. Etc.? Supongamos que tienes un cuadro de texto llamado Altura y otro cuadro de texto llamado Peso y el resultado ese de delgadez... quieres que te aparezca en un cuadro de texto llamado IMC. Podrías poner, por ejemplo, en el evento Después de actualizar del cuadro de texto Peso

dim s as single

s=peso/altura^2

if s<15 then

imc="Delgadez muy severa"

elseif s>=15 and s<=15.9 then

imc="Delgadez severa"

elseif s>=16 and s<=18.4 then

Imc0"Está hecho un fideo"

Y así hasta el final

¡Gracias! 

Con respecto a la respuesta que te dan, en España como en todo los lados, la estatura como máximo se indica con, por ejemplo, 1,83, es decir con dos decimales. ¿A qué cabeza se le ocurriría usar una variable que admite hasta 15 decimales? Con single que admite hasta 7 ya sobra. Es como si te fueras a cenar con tu mujer y pides un taxi de 15 plazas. Como no sea para no oírla.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas