combobox dependiendo de opcion

05/11/2004 - 16:43 por fredy | Informe spam
hola
quisiera saber como hago para solucionar lo siguiente

tengo un formulario con 2 botones de opcion

gastos y costos
y tengo el listado de codigos de estos dos en una hoja de excel con rangos
llamados costosprod y gastos

como hago para que segun la seleccion gastos o costos el combobox "codigo",
tenga el "rowsource" que corresponde, por ejemplo si selecciono "gastos" el
combobox me muestre la lista de codigos que figura en el rango "gastos" y si
selecciono "costos" ese mismo combobox "codigo" me muestre el listado que
figura en el rango "costosprod"

muchas gracias

fredy

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
06/11/2004 - 10:28 | Informe spam
hola, fredy !
.
... formulario con 2 botones de opcion: gastos y costos
... el listado de codigos de estos ... en una hoja ... con rangos llamados costosprod y gastos
... que segun la seleccion gastos o costos
el combobox "codigo" tenga el "rowsource" que corresponde [...]



'asumiendo' los nombres que [supongo] asignaste a los optionbuttons y al combobox...
copia/pega las siguientes lineas...
en el modulo de codigo del formulario ==Private Sub codigo_Change()
If codigo.ListIndex = -1 Then Exit Sub
' aqui las demas lineas de tu proceso 'normal' ...
End Sub
Private Sub costos_Click()
codigo.ListIndex = -1
codigo.RowSource = "costosprod"
End Sub
Private Sub gastos_Click()
codigo.ListIndex = -1
codigo.RowSource = "gastos"
End Sub

saludos,
hector.
Respuesta Responder a este mensaje
#2 fredy
08/11/2004 - 16:38 | Informe spam
hola miguel ... funciona perfecto muchas gracias

yo la verdad estuve intentando y llegue a lo siguiente (tambien funciona)

Private Sub costosPROD_Click()

If GASTOS = True Then codigo.RowSource = "=COSTOSPROD"
End Sub

Private Sub gastos_Click()
If GASTOS = True Then codigo.RowSource = "=GASTOS"
End Sub

me gustaria saber como se usa el listindex

"Héctor Miguel" wrote:

hola, fredy !
..
> ... formulario con 2 botones de opcion: gastos y costos
> ... el listado de codigos de estos ... en una hoja ... con rangos llamados costosprod y gastos
> ... que segun la seleccion gastos o costos
> el combobox "codigo" tenga el "rowsource" que corresponde [...]

'asumiendo' los nombres que [supongo] asignaste a los optionbuttons y al combobox...
copia/pega las siguientes lineas...
en el modulo de codigo del formulario ==> Private Sub codigo_Change()
If codigo.ListIndex = -1 Then Exit Sub
' aqui las demas lineas de tu proceso 'normal' ...
End Sub
Private Sub costos_Click()
codigo.ListIndex = -1
codigo.RowSource = "costosprod"
End Sub
Private Sub gastos_Click()
codigo.ListIndex = -1
codigo.RowSource = "gastos"
End Sub

saludos,
hector.



Respuesta Responder a este mensaje
#3 Héctor Miguel
09/11/2004 - 04:28 | Informe spam
hola, fredy !

... estuve intentando y llegue a lo siguiente (tambien funciona)
Private Sub costosPROD_Click()
If GASTOS = True Then codigo.RowSource = "=COSTOSPROD"
End Sub
Private Sub gastos_Click()
If GASTOS = True Then codigo.RowSource = "=GASTOS"
End Sub
me gustaria saber como se usa el listindex



1º la propiedad [listindex] 'devuelve' la posicion que ocupa en la lista [o combo] el elemento seleccionado
- si no hay elemento seleccionado, el valor de dicha propiedad es -1 [menos uno]
- los valores 'validos' para la propiedad 'van' desde 0 [cero] hasta #_total_elementos MENOS 1
[si hay 5 elementos, se 'cuentan' de 0 a 4]
- al momento de seleccionar [o cambiar la seleccion] dentro de la lista, se 'dispara' el evento '_change'
[esa es la razon por la que te sugiero el primer 'filtro' en el evento =>If codigo.ListIndex = -1 Then Exit Sub<2º en relacion con la forma que intentas y que por supuesto que tambien funciona [solo unas observaciones]...
a) al hacer click sobre un boton de opcion... su propiedad value SIEMPRE sera 1/true [pasa a estar 'activo']
b) cambiar su 'origen' [propiedad rowsource] NO 'modifica' alguna seleccion 'ya efectuada'
[esa es la razon por la que te sugiero 'limpiar' la seleccion al hacer click en cualquiera de las opciones]
3º en los codigos que probaste estas 'verificando' solamente el boton de opcion 'gastos' [en ambos] <= OJO

haz algunas pruebas y... ¿comentas?
saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida