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
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
- Compartir respuesta