Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Somma di 20 textbox

  1. #1

    Somma di 20 textbox

    cIAO A TUTTI
    Ho un problema. devo sommate il valore (numerico) di 20 text box, ma se scrivo
    [Code]
    txttotale.text = (txttot.text) + (txttot1.text) etc..


    mi affianca i numeri e non li somma....

    Aiuto!!
    grazie
    Sara

  2. #2
    Perchè non li considera numeri ma bensì testo e hai l'effetto "concatena".

    Prova così:

    codice:
    txtTotale.Text = Val(txtTot1.text) + Val (txtTot2.text) ecc.
    Ciao

  3. #3
    vero, vb vede l'operatore + come concatenamento per stringhe

    se hai numeri interi la soluzione di anatroccolo è la più semplice e la migliore, per i numeri decimali val ti toglie tutto quello che cè dopo la virgola, in questo caso devi usare Cdbl, unico problema che cdbl con valori nulli nelle text va in errore, e devi correggere con una struttura if


    codice:
    myvariabile = txttot.text
    
    if isnumeric(myvariabile) then
    myvariabile = Cdbl(txttot.tex)
    else
    myvariabile = val(txttot.tex)
    end if
    
    txttotale.tex = myvariabile + ecc....
    in pratica per ogni text dovresti farti una struttura if e una variabile, in alternativa crei una matrice di text e una variabile dimensionale e racchiudi tutto in un ciclo for

    per la seconda soluzione posso postarti codice

  4. #4
    Originariamente inviato da gyonny
    ...in alternativa crei una matrice di text e una variabile dimensionale e racchiudi tutto in un ciclo for
    Mi sembra la cosa più coerente da fare per risolvere un problema del genere. Al limite se non vuoi (o non puoi) cambiare nome alle TextBox, usa il Costrutto FOR EACH ... NEXT.

    Ti posto un codice di esempio:
    codice:
    Dim Somma As Double
    
    Private Sub Command1_Click()
        Dim Obj As TextBox
        
        Somma = 0
        
        On Error Resume Next
        For Each Obj In Me
            Somma = Somma + CDbl(Obj)
        Next Obj
        
        MsgBox Somma
    End Sub
    Ciao
    Cerco ombrello vecchio, nuovo, moderno o antidiluviano; purché protegga da una pioggia che vien giù come Dio la manda. Fate presto che ho l’acqua alla gola. (Noè)

    C# programming and other stuffs

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.