Access - Mostrar resultados matemáticos al abrir formulario

Me gustaría que al abrir un formulario me muestre en las casillas correspondientes los resultados de unas fórmulas matemáticas.

Me.EKO_F1_TT15_S = (Me.Fase_ISobreccarrega * Me.[IntensitatNominal]) * 1.5

El problema es que he puesto dicho código al abrir el formulario y no me aparecen los resultados, he probado también de ponerlo al cargar y no funciona, soo funciona cuando entro por segunda vez cuando me gustaría que se mostrara a la primera.

1 respuesta

Respuesta
1

Aitor: Admitiendo que lo que comentas es un poco raro, pon ese código en el evento >> Al Actualizar Registro ( Private Sub Form_Current).

Esto es si ese valor no lo tienes guardado. Dime si así te funciona, porque si ya lo tienes Al Cargar, debería salirte a la primera apertura, salvo que no tengas valores en los factores. Saludos >> Jacinto

Buenas Jacinto,

Lo acabo de probar y estoy en las mismas, sigue sin aparecer los números. En dichos campos no hay ningún valor previo ya que debe aparecer el resultado de la multiplicación.

¿Qué puede ser?

Gracias

Aitor: Ignoro de donde puede venir la anomalía, pero si es que ese dato no lo guardas, prueba a poner la Fórmula en el "Origen de datos" de ese control. Y para evitar errores hazlo con el asistente.

Ya me contarás. Un saludo >> Jacinto

Hola Jacinto,

Acabo de hacerlo y seguimos en las mismas... No se cual puede ser el problema... Para comlicarlo aun más, las operaciones vienen a través de un select Case. Obviamente funciona el código dado que al acceder por segunda vez al formulario si que aparecen los resultados pero no la primera vez que entro...

Gracias>>Black

Aitor: Con ese comentario aún me despisto más. Si quieres poner aquí el código completo, desde la apertura del Formulario, hasta terminar esos Select Case que comentas, puede que veamos algo.

Un saludo >> Jacinto

Buenas Jacinto,

Te adjunto todo el código veamos que te parece

Select Case Me.TipoCurva_Io

Case "NI"

        ' sobrecarga fase neutre

        Me.EKO_N_TT15_S = (Me.Neutro_Io_Sobre * Me.[IntensitatNominal]) * 1.5

        Me.EKO_N_TR15_S = (Me.[Neutro_K_Sobre] * 0.14) / (((Me.[EKO_N_TT15_S] / (Me.[IntensitatNominal] * Me.[Neutro_Io_Sobre])) ^ 0.02) - 1)

        Me.EKO_N_TT20_S = (Me.Neutro_Io_Sobre * Me.[IntensitatNominal]) * 2

        Me.EKO_N_TR20_S = (Me.[Neutro_K_Sobre] * 0.14) / (((Me.[EKO_N_TT20_S] / (Me.[IntensitatNominal] * Me.[Neutro_Io_Sobre])) ^ 0.02) - 1)

        Me.EKO_N_TT30_S = (Me.Neutro_Io_Sobre * Me.[IntensitatNominal]) * 3

        Me.EKO_N_TR30_S = (Me.[Neutro_K_Sobre] * 0.14) / (((Me.[EKO_N_TT30_S] / (Me.[IntensitatNominal] * Me.[Neutro_Io_Sobre])) ^ 0.02) - 1)

Case "EI"

        ' sobrecarga fase neutre

        Me.EKO_N_TT15_S = (Me.Neutro_Io_Sobre * Me.[IntensitatNominal]) * 1.5

        Me.EKO_N_TR15_S = (Me.[Neutro_K_Sobre] * 13.5) / (((Me.[EKO_N_TT15_S] / (Me.[IntensitatNominal] * Me.[Neutro_Io_Sobre])) ^ 1) - 1)

        Me.EKO_N_TT20_S = (Me.Neutro_Io_Sobre * Me.[IntensitatNominal]) * 2

        Me.EKO_N_TR20_S = (Me.[Neutro_K_Sobre] * 13.5) / (((Me.[EKO_N_TT20_S] / (Me.[IntensitatNominal] * Me.[Neutro_Io_Sobre])) ^ 1) - 1)

        Me.EKO_N_TT30_S = (Me.Neutro_Io_Sobre * Me.[IntensitatNominal]) * 3

        Me.EKO_N_TR30_S = (Me.[Neutro_K_Sobre] * 13.5) / (((Me.[EKO_N_TT30_S] / (Me.[IntensitatNominal] * Me.[Neutro_Io_Sobre])) ^ 1) - 1)

Case "UI"

        ' sobrecarga fase neutre

        Me.EKO_N_TT15_S = (Me.Neutro_Io_Sobre * Me.[IntensitatNominal]) * 1.5

        Me.EKO_N_TR15_S = (Me.[Neutro_K_Sobre] * 80) / (((Me.[EKO_N_TT15_S] / (Me.[IntensitatNominal] * Me.[Neutro_Io_Sobre])) ^ 2) - 1)

        Me.EKO_N_TT20_S = (Me.Neutro_Io_Sobre * Me.[IntensitatNominal]) * 2

        Me.EKO_N_TR20_S = (Me.[Neutro_K_Sobre] * 80) / (((Me.[EKO_N_TT20_S] / (Me.[IntensitatNominal] * Me.[Neutro_Io_Sobre])) ^ 2) - 1)

        Me.EKO_N_TT30_S = (Me.Neutro_Io_Sobre * Me.[IntensitatNominal]) * 3

        Me.EKO_N_TR30_S = (Me.[Neutro_K_Sobre] * 80) / (((Me.[EKO_N_TT30_S] / (Me.[IntensitatNominal] * Me.[Neutro_Io_Sobre])) ^ 2) - 1)

 End Select

Select Case Me.TipoCurva_Io2

Case "DF"

        ' instantanio fase neutre

        Me.EKO_N_TT15_I = (Me.IntensitatNominal * Me.[Neutro_Io_Sobre] * Me.[Neutro_Io_Instantani]) * 1.5

        Me.EKO_N_TR15_I = (Me.Neutro_To_Inst * 5)

        Me.EKO_N_TT20_I = (Me.IntensitatNominal * Me.[Neutro_Io_Sobre] * Me.[Neutro_Io_Instantani]) * 2

        Me.EKO_N_TR20_I = (Me.Neutro_To_Inst * 5)

        Me.EKO_N_TT30_I = (Me.IntensitatNominal * Me.[Neutro_Io_Sobre] * Me.[Neutro_Io_Instantani]) * 3

        Me.EKO_N_TR30_I = (Me.Neutro_To_Inst * 5)

Case "OFF"

        ' instantanio fase neutre

        Me.EKO_N_TT15_I = ""

        Me.EKO_N_TR15_I = ""

        Me.EKO_N_TT20_I = ""

        Me.EKO_N_TR20_I = ""

        Me.EKO_N_TT30_I = ""

        Me.EKO_N_TR30_I = ""

End Select

End SubSelect Case Me.TipoCurva_Io

Case "NI"

        ' sobrecarga fase neutre

        Me.EKO_N_TT15_S = (Me.Neutro_Io_Sobre * Me.[IntensitatNominal]) * 1.5

        Me.EKO_N_TR15_S = (Me.[Neutro_Ko_Sobre] * 0.14) / (((Me.[EKO_N_TT15_S] / (Me.[IntensitatNominal] * Me.[Neutro_Io_Sobre])) ^ 0.02) - 1)

        Me.EKO_N_TT20_S = (Me.Neutro_Io_Sobre * Me.[IntensitatNominal]) * 2

        Me.EKO_N_TR20_S = (Me.[Neutro_Ko_Sobre] * 0.14) / (((Me.[EKO_N_TT20_S] / (Me.[IntensitatNominal] * Me.[Neutro_Io_Sobre])) ^ 0.02) - 1)

        Me.EKO_N_TT30_S = (Me.Neutro_Io_Sobre * Me.[IntensitatNominal]) * 3

        Me.EKO_N_TR30_S = (Me.[Neutro_Ko_Sobre] * 0.14) / (((Me.[EKO_N_TT30_S] / (Me.[IntensitatNominal] * Me.[Neutro_Io_Sobre])) ^ 0.02) - 1)

Case "EI"

        ' sobrecarga fase neutre

        Me.EKO_N_TT15_S = (Me.Neutro_Io_Sobre * Me.[IntensitatNominal]) * 1.5

        Me.EKO_N_TR15_S = (Me.[Neutro_Ko_Sobre] * 13.5) / (((Me.[EKO_N_TT15_S] / (Me.[IntensitatNominal] * Me.[Neutro_Io_Sobre])) ^ 1) - 1)

        Me.EKO_N_TT20_S = (Me.Neutro_Io_Sobre * Me.[IntensitatNominal]) * 2

        Me.EKO_N_TR20_S = (Me.[Neutro_Ko_Sobre] * 13.5) / (((Me.[EKO_N_TT20_S] / (Me.[IntensitatNominal] * Me.[Neutro_Io_Sobre])) ^ 1) - 1)

        Me.EKO_N_TT30_S = (Me.Neutro_Io_Sobre * Me.[IntensitatNominal]) * 3

        Me.EKO_N_TR30_S = (Me.[Neutro_Ko_Sobre] * 13.5) / (((Me.[EKO_N_TT30_S] / (Me.[IntensitatNominal] * Me.[Neutro_Io_Sobre])) ^ 1) - 1)

Case "UI"

        ' sobrecarga fase neutre

        Me.EKO_N_TT15_S = (Me.Neutro_Io_Sobre * Me.[IntensitatNominal]) * 1.5

        Me.EKO_N_TR15_S = (Me.[Neutro_Ko_Sobre] * 80) / (((Me.[EKO_N_TT15_S] / (Me.[IntensitatNominal] * Me.[Neutro_Io_Sobre])) ^ 2) - 1)

        Me.EKO_N_TT20_S = (Me.Neutro_Io_Sobre * Me.[IntensitatNominal]) * 2

        Me.EKO_N_TR20_S = (Me.[Neutro_Ko_Sobre] * 80) / (((Me.[EKO_N_TT20_S] / (Me.[IntensitatNominal] * Me.[Neutro_Io_Sobre])) ^ 2) - 1)

        Me.EKO_N_TT30_S = (Me.Neutro_Io_Sobre * Me.[IntensitatNominal]) * 3

        Me.EKO_N_TR30_S = (Me.[Neutro_Ko_Sobre] * 80) / (((Me.[EKO_N_TT30_S] / (Me.[IntensitatNominal] * Me.[Neutro_Io_Sobre])) ^ 2) - 1)

 End Select

Select Case Me.TipoCurva_Io2

Case "DF"

        ' instantanio fase neutre

        Me.EKO_N_TT15_I = (Me.IntensitatNominal * Me.[Neutro_Io_Sobre] * Me.[Neutro_Io_Instantani]) * 1.5

        Me.EKO_N_TR15_I = (Me.Neutro_To_Instantani * 5)

        Me.EKO_N_TT20_I = (Me.IntensitatNominal * Me.[Neutro_Io_Sobre] * Me.[Neutro_Io_Instantani]) * 2

        Me.EKO_N_TR20_I = (Me.Neutro_To_Instantani * 5)

        Me.EKO_N_TT30_I = (Me.IntensitatNominal * Me.[Neutro_Io_Sobre] * Me.[Neutro_Io_Instantani]) * 3

        Me.EKO_N_TR30_I = (Me.Neutro_To_Instantani * 5)

Case "OFF"

        ' instantanio fase neutre

        Me.EKO_N_TT15_I = ""

        Me.EKO_N_TR15_I = ""

        Me.EKO_N_TT20_I = ""

        Me.EKO_N_TR20_I = ""

        Me.EKO_N_TT30_I = ""

        Me.EKO_N_TR30_I = ""

End Select

End Sub

Aitor: 1.- En principio no veo ningún inicio de Procedimiento. Supongo que al copiar te la habrás dejado. En principio y salvo que haya líneas de decisión no me preocupa.

2.- Ignoro la razón por la que repites (o eso parece), los Select Case. Tanto el primer bloque como el segundo.

3.- Hay una línea muy sospechosa >> End SubSelect Case Me.TipoCurva_Io, que aparentemente es que has juntado un End Sub y el comienzo de un Select Case, que sería la repetición que te comento. El que funcione en primera o segunda pasada, también lo veo extraño, pero según comentas así es.

Ya me contarás. Saludos >> Jacinto

Buenas Jacinto,

1- Efectivamente, no lo copie pero si hay un procedimiento de inicio.
2- Los Select Case se repiten dado que cada caso depende de uno distinto.
3- Hay ha sido un error al copiar, acabo de revisar el código y no aparece, es tal cual copie omitiendo el End Sub.

Muchas gracias!>>>Black

Aitor: Sin tener presente la BD, va a ser muy difícil (al menos por mi parte), poder darte una solución. Si es que no tienes datos personales y/o confidenciales y quieres me la puedes enviar a [email protected]

Un saludo >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas