Domingo 22 de Diciembre de 2024, 19:39
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
Visual Basic 6.0 e inferiores
(Moderador:
F_Tanori
) »
Select Case!!!
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Select Case!!! (Leído 1765 veces)
ghr
Nuevo Miembro
Mensajes: 7
Select Case!!!
«
en:
Domingo 11 de Febrero de 2007, 03:43 »
0
hola amigos, vengo aki para si alguien me puede ayudar en una duda que tengo. bueno lo ke pasa es ke tengo un procedimiento en el que tengo lo siguiente:
con este codigo empiezo a agregar al combo los valores que aqui se muestran
Código: Text
Private Sub Form_Load()
Combo1.Visible = False
For k = 1 To 81
Combo2.AddItem Choose(k, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, _
66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, _
85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, _
103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, _
118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, _
133, 134, 135)
Next
End Sub
luego se abre otro combo en el que se agregan otros datos en ese combo que se abre dependiendo del CASE toma unos valores diferentes al otro, todo va bien hasta el CASE 126 ahi me muestra Procedimiento demasiado largo, del 126 en adelante los tengo comentados porque si no me marca este error aunque escogiera el 55, si alguien me puede ayudar en esta duda.
Código: Text
Private Sub Combo2_Click()
Combo1.Visible = True
Select Case Combo2.Text
Case 55
For cm = 1 To 34
Combo1.AddItem Choose(cm, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, _
66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, _
83, 84, 85, 86, 87, 88, 89)
Next
Case 56
For cm = 1 To 34
Combo1.AddItem Choose(cm, 60, 61, 62, 63, 64, 65, _
66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, _
83, 84, 85, 86, 87, 88, 89, 90, 91, 93, 94)
Next
Case 57
.
.
.
' Case 126
' .
' .
End Select
End Sub
espero y me puedan ayudar para resolver este problema
Tweet
albertovicat
Miembro activo
Mensajes: 38
Re: Select Case!!!
«
Respuesta #1 en:
Domingo 11 de Febrero de 2007, 14:08 »
0
Se me ocurren dos posibles formas.
Una sería hacer varios Salect Case/End Select consecutivos, poniendo el primero desde Case 55 hasta Case 125, en el segundo Case 126 hasta (aparentemente te acepta 71) Case 197, y así, no se cuantos son los posibles valores de Case.
Otra: pero ojo porque te está diciendo "
Procedimiento
demasiado largo", y con ello se estaría refiriendo a la sub Click y no al Select Case. Así que si fraccionando como te digo antes tampoco quiere funcionar, entonces habría que separar a cada Select Case/End Select en una sub diferente, y que la Click al final llame a la siguiente, esta a la tercera y así.
A ver si te funciona.
albertovicat
Miembro activo
Mensajes: 38
Re: Select Case!!!
«
Respuesta #2 en:
Domingo 11 de Febrero de 2007, 14:11 »
0
Se me ocurren dos posibles formas.
Una sería hacer varios Salect Case/End Select consecutivos, poniendo el primero desde Case 55 hasta Case 125, en el segundo Case 126 hasta (aparentemente te acepta 71) Case 197, y así, no se cuantos son los posibles valores de Case.
Otra: pero ojo porque te está diciendo "
Procedimiento
demasiado largo", y con ello se estaría refiriendo a la sub Click y no al Select Case. Así que si fraccionando como te digo antes tampoco quiere funcionar, entonces habría que separar a cada Select Case/End Select en una sub diferente, y que la Click al final llame a la siguiente, esta a la tercera y así.
A ver si te funciona.
PD: tengo problemas con mi proveedor de Internet, cuando hice clic en Responder tradaba una eternidad, recargué la página y lo mandó dos veces.
aicrag
Miembro activo
Mensajes: 26
Re: Select Case!!!
«
Respuesta #3 en:
Domingo 11 de Febrero de 2007, 17:57 »
0
Hola!!!
Veamos, porqué no hacés algo como esto:
Código: Text
Private Sub Combo2_Click()
Combo1.Visible = True
Combo1.Clear
For cm = Combo2.Text + 1 To Combo2.Text + 34
Combo1.AddItem cm
Next
End Sub
Private Sub Form_Load()
Combo1.Visible = False
For k = 55 To 135
Combo2.AddItem k
Next
End Sub
porque según como veo al menos en el caso en el que el combo2 toma 55 agregás desde 56, 34 valores mas en orden, nosé en los otros casos cual sería el criterio para llenar el combo1, pero podés hacerte una formula para rellenar el combo1 o algo así, y reducirias la cantidad de código.....
El sabio no es aquel que sabe donde esta el tesoro, sino el que trabaja y lo saca
ghr
Nuevo Miembro
Mensajes: 7
Re: Select Case!!!
«
Respuesta #4 en:
Domingo 11 de Febrero de 2007, 20:25 »
0
ya probe las recomendaciones que me hicieron y las dos resultaron buenas, aunque como la intención siempre es de optimizar las lineas de codigo que manejamos deje el codigo como sigue
Código: Text
Private Sub Form_Load()
Combo1.Visible = False
For k = 55 To 135
Combo2.AddItem k
Next
End Sub
Código: Text
Private Sub Combo2_Click()
Combo1.Visible = True
Select Case Combo2.Text
Case 55
For cm = 56 To 89
Combo1.AddItem cm
Next
Case 56
For cm = 56 To 89
Combo1.AddItem cm
Next
Case 104
For cm = 59 To 125
Combo1.AddItem cm
Next
Case 105
For cm = 59 To 127
Combo1.AddItem cm
Next
Case 106
For cm = 59 To 127
Combo1.AddItem cm
Next
Case 126
For cm = 62 To 127
Combo1.AddItem cm
Next
Case 127
For cm = 62 To 127
Combo1.AddItem cm
Next
Case 128
For cm = 62 To 127
Combo1.AddItem cm
Next
.
.
.
End Select
End Sub
todo sale tal y como necesito, gracias...
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
Visual Basic 6.0 e inferiores
(Moderador:
F_Tanori
) »
Select Case!!!