Cita:
Iniciado por jose58
volvi, fijence en un formulario tengo 30 check box, yo en el formulario hago una pregunta la cual tiene tres opciones de respuesta y cada una tiene un valor si yo selecciono 15 check box como hago para que se sumen esos 15 nada mas y se muestren el resultado en una caja de text??
Veo que nadie te contesta. Por que sera?
Te recomiendo que crees una matris de checkbox... Como?... Copia uno y pegalo, y cuando te pregunte si queres crear una matris le pones que SI... asi cada vez que pegues, directamente ya esta creada la matris...
Vamos a dar un ejemplo... Al primer CheckBox lo llamaste "OPCION", entonces cada OPCION, tiene un indice (index)... desde el 0 hasta el el 29 (por que creaste 30 cheackbox con el nombre OPCION)...
El CheckBox 25 seria el OPCION(24). Se entiende?...
Bueno... Ahora vamos a lo que vos necesitas...
Supongamos que en el Caption de cada CheckBox, le pones un numero (cualquiera). Y vos lo que queres es que cuando vaya haciendo click en cada uno, realice la suma de los caption y luego ponga en un TextBox... Muy bien...
Lo que te voy a pedir es que hagas lo siguiente:
- Crea una matris de CheckBox de 30 controles con el nombre OPCION (hasta el index 29).
- Pone un numero en cada CheckBox en la propiedad CAPTION.
- Crea un TextBox, al cual le vas a llamar "txtResultado".
A continuacion te paso el codigo que tenes que agregar...
La idea es que cada ves que haga click en algun checkbox realice la suma y la muestre... Igual podes hacer un Boton que haga esto en ves de que lo haga cuando haces click en el CheckBox
Código:
Private Sub OPCION_Click(Index As Integer)
Dim X As Integer 'Creo una variable para el FOR
Dim Resultado As Long 'creo una variable para sumar (es long por que no se los numeros que tenes)
Resultado = 0 'inicializo la variable en 0 (una variable siempre se inicializa en 0 pero por las dudas nomas)
For X = 0 To 29 'recorro todo la matris de controles
If OPCION(X).Value = 1 Then 'verifico si cada checkbox esta tildado
Resultado = Resultado + Val(OPCION(X).Caption) 'sumo
End If
Next X
txtResultado.Text = Resultado 'muestro el resultado en el textbox
End Sub
Espero que te sirva.