Visualizzazione somma in una maschera

di il
4 risposte

Visualizzazione somma in una maschera

Scusate il mio problema forse è un po' banale:
Ho una maschera di inserimento dati con 5 campi (A, B, C, D, E) nei quali inserisco delle percentuali intere (es: 20, 30..).
Il totale deve essere 100, vorrei essere sicuro che prima di aggiungere il record abbia inserito i dati giusti quindi ho creato nella maschera una casella di testo Non Associata chiamata "total" in cui visualizzare il totale prima di inserire il record. Se è 100 procedo altrimenti no.
Nella routine evento ho quindi inserito questa operazione:

Private Sub Form_Current_BeforeUpdate()
total = vA + vB + vC + vD + vE
End Sub

Dove:
Dim vA As Integer e vA = CDbl(A) e uguale per B, C, D, E
ma quando compilo la maschera la casella total non funziona (il resto si)
Dove sbaglio?

4 Risposte

  • Re: Visualizzazione somma in una maschera

    La casella di testo non associata (immagino si chiami total)deve semplicemente avere una espressione del tipo:
    =[Maschere]![NomeMaschera]![A]+[Maschere]![NomeMaschera]![B]+[Maschere]![NomeMaschera]![C]+[Maschere]![NomeMaschera]![D]+[Maschere]![NomeMaschera]![E]
    Poi sull'evento da te scelto crei una condizione
    If Me!total <> 100 Then MsgBox "Il totale percentuali non è 100"
    P.S.: credo di averti risposto alla lettera, ma rimango scettico su come usi i dati in maschera/tabella...
  • Re: Visualizzazione somma in una maschera

    Bon ha scritto:


    Dove:
    Dim vA As Integer e vA = CDbl(A)...
    Dichiari vA come Integer e per assegnarne il lavore fai la conversione di A in Double con CDbl? Mi sfugge il senso di questo.
  • Re: Visualizzazione somma in una maschera

    Non ha senso... vA è Integer quindi assegnare un Double significa in realtà fare il casting implicito ad Integer... conseguenza cdbl è sbagliato...
    Aggiungo che non viene definito l'Option Explicit o dichiarazione obbligatoria delle variabili... che è utilissimo per chi ha esperienza ma obbligatorio per chi ne ha poca...
    Aggiungo che ci si è inventati del codice...
    Form_Current_BeforeUpdate()
    Che evento sarebbe questo...?
    Insomm mii pare ci siano molte cose che ci mettono in difficoltà ne capire...
  • Re: Visualizzazione somma in una maschera

    Buongiorno,
    ah si scusate c'era un refuso. vA = CInt(A)...

    Ho risolto mettendo mettendo il pulsante e scrivendo nell'evento queste indicazioni:

    Private Sub Comando37_Click()
    vA=CInt(A)
    VB....

    [total]= vA+vB+vC....
    End Sub

    Grazie
Devi accedere o registrarti per scrivere nel forum
4 risposte