JJanUtente AttivoIscritto dafeb, 2020Messaggi21823 apr 2020, 11:36Ho un form con un centinaio di texbox destinati a contenere calcoli semplicissimi. Data la numerosità delle textbox ho utilizzato un tabcontrol con due tabpage. I calcoli -e veniamo al problema- vengono effettuati richiamando una sub, ma il caso strano è che sul primo record (e solo sul primo!!) i calcoli non vengono effettuati (o visualizzati?) sulla seconda tabpage. Ho messo un button che richiama la sub ed i calcoli vengono eseguiti normalmente. Qualcuno sa dirmi dove sbaglio?
patelMolto attivoIscritto dagiu, 2018Messaggi55023 apr 2020, 11:41Se non mostri il codice come si fa a trovare l'errore ?
JJanUtente AttivoIscritto dafeb, 2020Messaggi21823 apr 2020, 12:27Grazie per l'interessamento.Non ho pubblicato il codice perché poco significativo rispetto al problema: perché cioè i calcoli non vengono eseguiti sulla seconda pagina del Tabcontrol. Ecco comunque il codice : Sub calcolaPunti() 'SEZ.A-TABPAGE1 P_A_GR1_1.Text = Val(A_GR1_1TextBox.Text) * 6 P_A_GR1_2.Text = Val(A_GR1_2TextBox.Text) * 6 P_A_GR1_GP.Text = Val(A_GR1_GPTextBox.Text) * 6 P_A_GR2_3.Text = Val(A_GR2_3TextBox.Text) * 4 P_A_GR2_4.Text = Val(A_GR2_4TextBox.Text) * 4 P_A_GR2_5.Text = Val(A_GR2_5TextBox.Text) * 4 P_A_GR2_6.Text = Val(A_GR2_6TextBox.Text) * 4 P_A_GR2_GP.Text = Val(A_GR2_GPTextBox.Text) * 4 P_A_GR3_7.Text = Val(A_GR3_7TextBox.Text) * 2 P_A_GR3_8.Text = Val(A_GR3_8TextBox.Text) * 2 P_A_GR3_GP.Text = Val(A_GR3_GPTextBox.Text) * 2 P_A_AG_M.Text = Val(A_AG_MTextBox.Text) * 20 P_A_AG_L.Text = Val(A_AG_LTextBox.Text) * 30 A_TOT_PRAT.Text = Val(A_GR1_1TextBox.Text) + Val(A_GR1_2TextBox.Text) + Val(A_GR1_GPTextBox.Text) + Val(A_GR2_3TextBox.Text) + Val(A_GR2_4TextBox.Text) + Val(A_GR2_5TextBox.Text) + Val(A_GR2_6TextBox.Text) + Val(A_GR2_GPTextBox.Text) + Val(A_GR3_7TextBox.Text) + Val(A_GR3_8TextBox.Text) + Val(A_GR3_GPTextBox.Text) + Val(A_AG_MTextBox.Text) + Val(A_AG_LTextBox.Text) P_A_TOT_PUNTI.Text = Val(P_A_GR1_1.Text) + Val(P_A_GR1_2.Text) + Val(P_A_GR1_GP.Text) + Val(P_A_GR2_3.Text) + Val(P_A_GR2_4.Text) + Val(P_A_GR2_5.Text) + Val(P_A_GR2_6.Text) + Val(P_A_GR2_GP.Text) + Val(P_A_GR3_7.Text) + Val(P_A_GR3_8.Text) + Val(P_A_GR3_GP.Text) + Val(P_A_AG_M.Text) + Val(P_A_AG_L.Text) 'SEZ.B P_B_GR1_1.Text = Val(B_GR1_1TextBox.Text) * 6 P_B_GR1_2.Text = Val(B_GR1_2TextBox.Text) * 6 P_B_GR1_3.Text = Val(B_GR1_3TextBox.Text) * 6 P_B_GR1_GP.Text = Val(B_GR1_GPTextBox.Text) * 6 P_B_GR2_4.Text = Val(B_GR2_4TextBox.Text) * 4 P_B_GR2_5.Text = Val(B_GR2_5TextBox.Text) * 4 P_B_GR2_GP.Text = Val(B_GR2_GPTextBox.Text) * 4 P_B_GR3_6.Text = Val(B_GR3_6TextBox.Text) * 2 P_B_GR3_7.Text = Val(B_GR3_7TextBox.Text) * 2 P_B_GR3_GP.Text = Val(B_GR3_GPTextBox.Text) * 2 P_B_AG_M.Text = Val(B_AG_MTextBox.Text) * 20 P_B_AG_L.Text = Val(B_AG_LTextBox.Text) * 30 B_TOT_PRAT.Text = Val(B_GR1_1TextBox.Text) + Val(B_GR1_2TextBox.Text) + Val(B_GR1_3TextBox.Text) + Val(B_GR1_GPTextBox.Text) + Val(B_GR2_4TextBox.Text) + Val(B_GR2_5TextBox.Text) + Val(B_GR2_GPTextBox.Text) + Val(B_GR3_6TextBox.Text) + Val(B_GR3_7TextBox.Text) + Val(B_GR3_GPTextBox.Text) + Val(B_AG_MTextBox.Text) + Val(B_AG_LTextBox.Text) P_B_TOT_PUNTI.Text = Val(P_B_GR1_1.Text) + Val(P_B_GR1_2.Text) + Val(P_B_GR1_3.Text) + Val(P_B_GR1_GP.Text) + Val(P_B_GR2_4.Text) + Val(P_B_GR2_5.Text) + Val(P_B_GR2_GP.Text) + Val(P_B_GR3_6.Text) + Val(P_B_GR3_7.Text) + Val(P_B_GR3_GP.Text) + Val(P_B_AG_M.Text) + Val(P_B_AG_L.Text) 'SEZ.C P_C_GR1_1.Text = Val(C_GR1_1TextBox.Text) * 6 P_C_GR1_2.Text = Val(C_GR1_2TextBox.Text) * 6 P_C_GR1_3.Text = Val(C_GR1_3TextBox.Text) * 6 P_C_GR1_GP.Text = Val(C_GR1_GPTextBox.Text) * 6 P_C_GR2_4.Text = Val(C_GR2_4TextBox.Text) * 3 P_C_GR2_5.Text = Val(C_GR2_5TextBox.Text) * 3 P_C_GR2_6.Text = Val(C_GR2_6TextBox.Text) * 3 P_C_GR2_GP.Text = Val(C_GR2_GPTextBox.Text) * 3 P_C_GR3_7.Text = Val(C_GR3_7TextBox.Text) * 1 P_C_AG_M.Text = Val(C_AG_MTextBox.Text) * 20 P_C_AG_L.Text = Val(C_AG_LTextBox.Text) * 30 C_TOT_PRAT.Text = Val(C_GR1_1TextBox.Text) + Val(C_GR1_2TextBox.Text) + Val(C_GR1_3TextBox.Text) + Val(C_GR1_GPTextBox.Text) + Val(C_GR2_4TextBox.Text) + Val(C_GR2_5TextBox.Text) + Val(C_GR2_6TextBox.Text) + Val(C_GR2_GPTextBox.Text) + Val(C_GR3_7TextBox.Text) + Val(C_GR3_GPTextBox.Text) + Val(C_AG_MTextBox.Text) + Val(C_AG_LTextBox.Text) P_C_TOT_PUNTI.Text = Val(P_C_GR1_1.Text) + Val(P_C_GR1_2.Text) + Val(P_C_GR1_3.Text) + Val(P_C_GR1_GP.Text) + Val(P_C_GR2_4.Text) + Val(P_C_GR2_5.Text) + Val(P_C_GR2_6.Text) + Val(P_C_GR2_GP.Text) + Val(P_C_GR3_7.Text) + Val(P_C_GR3_GP.Text) + Val(P_C_AG_M.Text) + Val(P_C_AG_L.Text) 'totali totpratiche.Text = Val(A_TOT_PRAT.Text) + Val(B_TOT_PRAT.Text) + Val(C_TOT_PRAT.Text) totpunti.Text = Val(P_A_TOT_PUNTI.Text) + Val(P_B_TOT_PUNTI.Text) + Val(P_C_TOT_PUNTI.Text) 'modello H1 - TABPAGE2 INPS_ARG_DI.Text = Val(DI_A_ATextBox.Text) + Val(DI_A_RTextBox.Text) + Val(DI_A_GTextBox.Text) INAIL_ARG_DI.Text = Val(DI_B_ATextBox.Text) + Val(DI_B_RTextBox.Text) + Val(DI_B_GTextBox.Text) ALTRI_ARG_DI.Text = Val(DI_C_ATextBox.Text) + Val(DI_C_RTextBox.Text) + Val(DI_C_GTextBox.Text) INPS_ARG_DL.Text = Val(DL_A_ATextBox.Text) + Val(DL_A_RTextBox.Text) + Val(DL_A_GTextBox.Text) INAIL_ARG_DL.Text = Val(DL_B_ATextBox.Text) + Val(DL_B_RTextBox.Text) + Val(DL_B_GTextBox.Text) ALTRI_ARG_DL.Text = Val(DL_C_ATextBox.Text) + Val(DL_C_RTextBox.Text) + Val(DL_C_GTextBox.Text) DI_GR1PTextBox.Text = Val(A_GR1_1TextBox.Text) + Val(A_GR1_2TextBox.Text) + Val(B_GR1_1TextBox.Text) + Val(B_GR1_2TextBox.Text) + Val(B_GR1_3TextBox.Text) + +Val(C_GR1_1TextBox.Text) + Val(C_GR1_2TextBox.Text) + Val(C_GR1_3TextBox.Text) DI_GR2PTextBox.Text = Val(A_GR2_3TextBox.Text) + Val(A_GR2_4TextBox.Text) + Val(A_GR2_5TextBox.Text) + Val(A_GR2_6TextBox.Text) + Val(B_GR2_4TextBox.Text) + Val(B_GR2_5TextBox.Text) + Val(C_GR2_4TextBox.Text) + Val(C_GR2_5TextBox.Text) + Val(C_GR2_6TextBox.Text) DI_GR3PTextBox.Text = Val(A_GR3_7TextBox.Text) + Val(A_GR3_8TextBox.Text) + Val(B_GR3_6TextBox.Text) + Val(B_GR3_7TextBox.Text) + Val(C_GR3_7TextBox.Text) DI_GPPTextBox.Text = Val(A_GR1_GPTextBox.Text) + Val(A_GR2_GPTextBox.Text) + Val(A_GR3_GPTextBox.Text) + Val(B_GR1_GPTextBox.Text) + Val(B_GR2_GPTextBox.Text) + Val(B_GR3_GPTextBox.Text) + Val(C_GR1_GPTextBox.Text) + Val(C_GR2_GPTextBox.Text) + Val(C_GR3_GPTextBox.Text) DI_MPTextBox.Text = Val(A_AG_MTextBox.Text) + Val(B_AG_MTextBox.Text) + Val(C_AG_MTextBox.Text) DI_LPTextBox.Text = Val(A_AG_LTextBox.Text) + Val(B_AG_LTextBox.Text) + Val(C_AG_LTextBox.Text) TOTCHDI.Text = Val(DI_GR1PTextBox.Text) + Val(DI_GR1NTextBox.Text) + Val(DI_GR2PTextBox.Text) + Val(DI_GR2NTextBox.Text) + Val(DI_GR3PTextBox.Text) + Val(DI_GR3NTextBox.Text) + Val(DI_GPPTextBox.Text) + Val(DI_GPNTextBox.Text) + Val(DI_MPTextBox.Text) + Val(DI_MNTextBox.Text) + Val(DI_LPTextBox.Text) + Val(DI_LNTextBox.Text) TOTCHDL.Text = Val(DL_GR4PTextBox.Text) + Val(DL_GR4NTextBox.Text) + Val(DL_GR5PTextBox.Text) + Val(DL_GR5NTextBox.Text) + Val(DL_GPPTextBox.Text) + Val(DL_GPNTextBox.Text) + Val(DL_MPTextBox.Text) + Val(DL_MNTextBox.Text) + Val(DL_LPTextBox.Text) + Val(DL_LNTextBox.Text) + Val(DL_N_C.Text) TOTINPS.Text = Val(DI_INPSTextBox.Text) + Val(DL_INPSTextBox.Text) TOTINAIL.Text = Val(DI_INAILTextBox.Text) + Val(DL_INAILTextBox.Text) TOTALTRI.Text = Val(DI_ALTRITextBox.Text) + Val(DL_ALTRITextBox.Text) AP_INPS.Text = Val(INPS_ARG_DI.Text) + Val(INPS_ARG_DL.Text) CH_INPS.Text = Val(TOTINPS.Text) AP_INAIL.Text = Val(INAIL_ARG_DI.Text) + Val(INAIL_ARG_DL.Text) CH_INAIL.Text = Val(TOTINAIL.Text) AP_ALTRI.Text = Val(ALTRI_ARG_DI.Text) + Val(ALTRI_ARG_DL.Text) CH_ALTRI.Text = Val(TOTALTRI.Text) TOTENTIDI.Text = Val(DI_INPSTextBox.Text) + Val(DI_INAILTextBox.Text) + Val(DI_ALTRITextBox.Text) TOTENTIDL.Text = Val(DL_INPSTextBox.Text) + Val(DL_INAILTextBox.Text) + Val(DL_ALTRITextBox.Text) End Sub
patelMolto attivoIscritto dagiu, 2018Messaggi55023 apr 2020, 13:26Jan ha scritto: Grazie per l'interessamento.Non ho pubblicato il codice perché poco significativo rispetto al problema: perché cioè i calcoli non vengono eseguiti sulla seconda pagina del Tabcontrol. infatti non è questo che volevo vedere (avevi già detto che tramite pulsante funziona), ma la gestione degli eventi
JJanUtente AttivoIscritto dafeb, 2020Messaggi21823 apr 2020, 16:06Spero questa volta di aver capito (sappi,tra l'altro, che vengo da Vb6 e con Net non ho molta esperienza!) : Private Sub IDTextBox_TextChanged(sender As Object, e As EventArgs) Handles IDTextBox.TextChanged calcolaPunti() End Sub
JJanUtente AttivoIscritto dafeb, 2020Messaggi21823 apr 2020, 16:18Patel, grazie per la tua collaborazione.Ho risolto così: Private Sub TabControl1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TabControl1.SelectedIndexChanged calcolaPunti() End Sub Grazie ancora.