canal visual basic .net

Recursos Visual Basic.NET, VB.NET, Manuales de programación, Tutoriales, Foros de programación, Comunidad de programadores

Usuarios activos:  43

Foros de programación, recursos, tutoriales, sistemas operativos...

Bienvenido a la zona de foros. Participa en alguno de nuestros foros: Foros de visual basic, foros de visual basic.net foros de Crystal reports, programas gratis, foros de C++ - C# , foros de Java, foros de PHP, foros de ASP.net. Seguro que hay un foro que te servirá de gran utilidad y si no lo encuentras avísanos y crearemos uno nuevo.
Resultados 1 al 13 de 13
  1. #1
    jor1980 está desconectado Senior Member Avanzad@
    Fecha de ingreso
    09 jul, 08
    Mensajes
    127

    Predeterminado

    hola, tengo un formulario con una serie de textbox donde tengo que introducir unos números para sumarlos, el resultado me aparece en otra textbox del mismo formulario, el problema es que para que aparezca el resultado he tenido que colocar un botón que al clicar me suma las cifras y las escribe en la textbox suma.Quiero poder hacer esto mismo sin tener que poner el botón para sumar, es decir que cada vez que introduzco un número en alguna de las textbox automaticamente la nueva suma aparezca en la textboxsuma sin tener que pulsar ningún botón, me podéis ayudar

  2. #2
    Avatar de fpela
    fpela está desconectado Senior Member Avanzad@
    Fecha de ingreso
    07 mar, 06
    Mensajes
    181

    Predeterminado

    hola en el evento change de cada form pone

    if isNumeric("eltextbox que se esta modificando".Text ) then
    textboxSuma.text= "suma cadatextboxt".text
    end if.

    -Me explico cual es la idea??

    Saludos

  3. #3
    jor1980 está desconectado Senior Member Avanzad@
    Fecha de ingreso
    09 jul, 08
    Mensajes
    127

    Predeterminado

    Gracias por la orientación pero soy nuevo y no se donde está el evento change.Me podrías aclarar, perdona por las molestias

  4. #4
    Avatar de fpela
    fpela está desconectado Senior Member Avanzad@
    Fecha de ingreso
    07 mar, 06
    Mensajes
    181

    Predeterminado

    creo que es el evento por default
    En tiempo de diseño haz doble click sobre el textbox para que te aparezca.
    Sino ve a la vista Codigo.
    Veraz que en la parte superior hay 2 combos.
    Elige dela izquierda el textbox que queiras
    y luego de la derecha elige Text_Changed()

    Ahi codifica tu solucion

    Saludos

  5. #5
    jor1980 está desconectado Senior Member Avanzad@
    Fecha de ingreso
    09 jul, 08
    Mensajes
    127

    Predeterminado

    gracias yo lo pillé, ahora tengo una dudilla, tengo como unos 10 textbox donde introduzco números para sumarlos, tengo que ir cambiando el evento change de cada uno de ellos o existe alguna forma de crear un único evento change que controle cuando se cambia alguna de las 10 textbox

  6. #6
    tasslehoff06 está desconectado Senior Member Avanzad@
    Fecha de ingreso
    02 jun, 06
    Mensajes
    101

    Predeterminado



    Tendrías que hacer una matriz de objetos, esto se consigue poniendo a cada uno de los textbox sumatorios el mismo nombre, el resultado sería así:





    Nombre Actual Nombre Nuevo


    TextBox1txtSuma


    .... ....
    TextBox10txtSuma

    así en el evento Change del txtSuma deberías escribir:

    txtResultado = CDBL(txtSuma(0)) + CDBL(txtSuma(1)) + ... + CDBL(txtSuma(10))

    la palabra CDBL es para convertir la cadena de text del txtSuma(x) en una cadena Double, así se respetarán todos los decimales.


    Espero ayudarte con esto.

    Salu2

  7. #7
    jor1980 está desconectado Senior Member Avanzad@
    Fecha de ingreso
    09 jul, 08
    Mensajes
    127

    Predeterminado

    si me ayudas, pero ahora si hago eso me surgiría un nuevo problema cada textbox donde introduzo un número que luego se suma se envia a un campo de una tabla de una base de datos, y si nombró a todos con el mismo nombre no se cómo voy a poder mandarlos cada uno a un campo de de la tabla de la base de datos

  8. #8
    tasslehoff06 está desconectado Senior Member Avanzad@
    Fecha de ingreso
    02 jun, 06
    Mensajes
    101

    Predeterminado

    si los vas haciendo por orden (uno a uno empezando por el primero) cada textbox se corresponde con un número dentro de la matriz de comandos, es decir, el TextBox1.Text se correspondería con el txtSuma(0).Text (TextBox10.Text = txtSuma(9)), así para mandar a la base de datos el valor de dicho textbox tendrías que poner:


    (más o menos es de cabeza)

    rs.Fields("CampoX") = txtSuma(0)

  9. #9
    Avatar de fpela
    fpela está desconectado Senior Member Avanzad@
    Fecha de ingreso
    07 mar, 06
    Mensajes
    181

    Predeterminado

    Hola,
    Sino, crea una funcion para sumar cada textbox y en el evento change del textbox le haces la llamada

  10. #10
    Avatar de seba123neo
    seba123neo está desconectado Moderador Guru
    Fecha de ingreso
    19 oct, 06
    Ubicación
    Argentina
    Mensajes
    2,766

    Predeterminado

    Hola, no se si hay otra forma, pero yo hice en visual basic 6 un conversor de unidades y tengo en un formulario como 25 textbox que al escribir en uno me calcula directamente en todos los otros ,y si me posiciono en otro y escribo algo me calcula segun la unidad que representa ese textbox y simplemente lo que hago es identificar con una variable boolean donde se esta escribiendo...y asi no se ejecutan todos los eventos change de los textbox al mismo tiempo...

    saludos.

    Todos somos ignorantes;lo que pasa es que no todos ignoramos las mismas cosas - Albert Einstein

  11. #11
    Velez está desconectado Senior Member Avanzad@
    Fecha de ingreso
    15 mar, 08
    Ubicación
    Spain
    Mensajes
    143

    Predeterminado

    Hola compañeros

    Me sumo a lo que propone fpela

    aqui la funcion:
    [color=#0000ff size=1]
    Código:
    [/color]
    
    
    
    Public Function SumaText(ByVal Contenedor As Control) As Integer ' Pasaremos el control que contiene los Text a sumar y devolveremos la suma
    Dim resultado As Integer = 0 'Declaramos una variable que almacenara el resultado
    
    
    For Each box As TextBox In Contenedor.Controls ' recorremos todos los text que hay en el contenedor...
    
    
    If box.Text = "" Then ' si el text que se recorre esta vacio pues na...
    
    
    Else ' si esta lleno....
    
    
    resultado += box.Text ' se suma el contenido al resultado....
    
    
    End If
    
    
    Next
    
    
    Return resultado ' Devolvemos el resultado
    
    


    [color=#000000 size=1]El uso:[/color]
    Coloco todos los textbox en un panel.
    Seleccionamos todos los textbox que se usan en la suma y en el evento TextChanged:
    Código:
    
    
    
    Private Sub TextBox8_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox8.TextChanged, TextBox7.TextChanged, TextBox6.TextChanged, TextBox5.TextChanged, TextBox4.TextChanged, TextBox3.TextChanged, TextBox2.TextChanged, TextBox1.TextChanged
    
    
    Me.TextBox9.Text = SumaText(Me.Panel1) ' Asignamos el resultado de la funcion al propiedad text del Text destino
    
    
    End Sub
    [color=#0000ff size=1]
    [/color]

    [color=#000000 size=1]Saludos[/color]
    [color=#000000 size=1]Luis[/color]


  12. #12
    Velez está desconectado Senior Member Avanzad@
    Fecha de ingreso
    15 mar, 08
    Ubicación
    Spain
    Mensajes
    143

    Predeterminado

    Hola de nuevo

    Dejo el codigo reformado para poder usarlo cuando los TextBox a sumar y el TexBox destino estan en el mismo contenedor.
    Código:
    
    
    
    PublicFunction SumaText(ByVal TextDestino As TextBox, ByVal Contenedor As Control) AsInteger' Pasaremos el control que contiene los Text a sumar, y el textbox destino
    
    
    Dim resultado As Integer = 0 'Declaramos una variable que almacenara el resultado
    
    
    TextDestino.Text = 0 ' Inicializamos el TexDestino a cero
    
    
    For Each box As TextBox In Contenedor.Controls ' recorremos todos los text que hay en el contenedor...
    
    
    If box.Text = "" Then ' si el text que se recorre esta vacio pues na...
    
    
    Else ' si esta lleno....
    
    
    resultado += box.Text ' se suma el contenido al resultado....
    
    
    End If
    
    
    Next
    
    
    TextDestino.Text = resultado
    
    
    Return resultado ' Devolvemos el resultado
    
    
    End[color=#000000 size=1] [/color]Function
    


    Código:
    PrivateSub TextBox8_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox8.TextChanged, TextBox7.TextChanged, TextBox6.TextChanged, TextBox5.TextChanged, TextBox4.TextChanged, TextBox3.TextChanged, TextBox2.TextChanged, TextBox1.TextChanged
    
    
    
    SumaText(Me.TextBox9, Me) ' Pasamos el texbox destino y el contenedor de los forms
    
    
    End Sub
    
    [color=#000000 size=1]Saludos[/color]
    [color=#000000 size=1]Luis[/color]

  13. #13
    Holah está desconectado Junior Member Iniciad@
    Fecha de ingreso
    11 oct, 08
    Mensajes
    26

    Predeterminado

    El siguiente código es el más comprensivo que encontré y el más corto:
    Private Sub Sumar()
    Dim Resultado As Variant
    On Error Resume Next
    Resultado = CDbl(txtNumPrim.Text) + CDbl(txtNumPrimSuma.Text)
    txtDaiguala.Text = Resultado
    End Sub

    Private Sub Form_Load()
    Call Sumar
    End Sub

    Private Sub txtNumPrim_Change()
    Call Sumar
    End Sub

    Private Sub txtNumPrimSuma_Change()
    Call Sumar
    End Sub



Temas similares

  1. Actualizar dato en label, al pasar de un textbox a
    Por Maldonado en el foro Visual Basic .NET
    Respuestas: 2
    Último mensaje: 18/11/2008, 13:48
  2. cambiar el texto de un textbox
    Por Erick en el foro Visual Basic .NET
    Respuestas: 3
    Último mensaje: 19/10/2008, 20:03
  3. actualizar la BD desde un textbox
    Por Rako en el foro Visual Basic .NET
    Respuestas: 0
    Último mensaje: 31/08/2007, 13:02
  4. Actualizar datagrid segun ingreso del textbox
    Por Yolapior en el foro Visual Basic .NET
    Respuestas: 2
    Último mensaje: 18/12/2006, 16:32
  5. Actualizar los datos de un textbox
    Por Guests en el foro Visual Basic 6.0
    Respuestas: 3
    Último mensaje: 12/08/2006, 06:48

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
Visual Studio .VisualBasic.net .ADO.NET .ASP.NET .Framework .Crystal report
[Visual Basic .NET · Información legal · Condiciones de uso · Publicidad · Contacto · RSS novedades Foro · Inicio]
Un sitio web de Internelia (Ontecnia) © Copyright 2013 canalvisualbasic.net. Todos los derechos reservados