Saltar al contenido

Control de errores para un combo box


Recommended Posts

publicado

Que tal compañeros, tengo dos combo box en la cual si seleccio un elemento del primero.. me borraránn varios del segundo, entonces viendo si se vuelve a marcar el elemento que se seleccionó anteriormente marca error de ejecución si bien no me equivoco, entonces estando en los zapatos de un usuario final que no sabe nada de programacion es necesario disfrazar ese error. mandarlo con un msg box que los elementos del combo es volatil y no se puede seleccionar dos veces, se tiene que cerrar el programa y volver abrir para cargar los elementos.

lo he intentado con este codigo.

On Error Resume Next
If Err = 1 Then
MsgBox "Error se tiene que cerrar la aplicacion"
Cancel = True
End If[/PHP]

en los eventos, error y exit change del combo pero no resulta.

Alguna sugerencia para este inconveniente?

Adjunto el acrchivo. Nomás que por favor si son tan amables si me responden con el adjunto me lo compriman en ZIP si no es de mucha molestia

COMBOS.zip

publicado

Hola:

Prueba con este código a ver si lo he entendido.

Private Sub ComboBoxRegispat_Change()
ComboBoxTiponom.Clear
ComboBoxTiponom.Enabled = False
If ComboBoxRegispat.ListIndex = -1 Then Exit Sub
ComboBoxTiponom.Enabled = True
If ComboBoxRegispat.Text = "CONDOMINIO" Then
'DATOS DE TIPO DE NOMBRE
ComboBoxTiponom.AddItem "PREHISPANICO"
ComboBoxTiponom.AddItem "LATIN"
ComboBoxTiponom.AddItem "EGIPCIO"
Else
ComboBoxTiponom.AddItem "JAPONES"
ComboBoxTiponom.AddItem "ARABE"
ComboBoxTiponom.AddItem "HEBREO"
ComboBoxTiponom.AddItem "AMERICANO"
ComboBoxTiponom.AddItem "AFRICANO"
End If
End Sub
Private Sub UserForm_Initialize()
'DATOS DEL REGISTRO PATRIMONIO
ComboBoxRegispat.AddItem "CONDOMINIO"
ComboBoxRegispat.AddItem "REMOLQUE"
ComboBoxRegispat.AddItem "DEPARTAMENTO"
ComboBoxRegispat.AddItem "CASA"
'DATOS DEL RECINTO
ComboBoxRecin.AddItem "ZONACENTRO"
ComboBoxRecin.AddItem "OESTE"
ComboBoxRecin.AddItem "ESTE"
ComboBoxRecin.AddItem "SUR"
ComboBoxRecin.AddItem "NORTE"
ComboBoxTiponom.Enabled = False
End Sub
[/CODE]

publicado

Exelente tal y como lo necesito.. nomas tengo unas dudillas.. primero si me puedes dar una explicacion de

If ComboBoxRegispat.ListIndex = -1 Then Exit Sub[/PHP]

. Ademas por ejemplo en el Else pondria ElseIf Remolque y que agregue otros?

espero entienda mi pregunta.

publicado

La propiedad ListIndex contiene el valor del índice de la fila seleccionada en una lista.

Si no hay ninguna fila seleccionada, o el valor del cuadro de texto en un combobox no se encuentra dentro de la lista el valor de ListIndex es igual a -1.

En cuanto al tema de añadir mas condiciones, puedes perfectamente usar ElseIf, aunque yo soy partidario, solo por claridad en el código, de usar SELECT CASE. Te dejo un ejemplo:

Select Case ComboBoxRegispat.Text
Case "CONDOMINIO"
ComboBoxTiponom.AddItem "PREHISPANICO"
ComboBoxTiponom.AddItem "LATIN"
ComboBoxTiponom.AddItem "EGIPCIO"
Case "REMOLQUE"
ComboBoxTiponom.AddItem "JAPONES"
ComboBoxTiponom.AddItem "ARABE"
ComboBoxTiponom.AddItem "HEBREO"
Case Else
ComboBoxTiponom.AddItem "AMERICANO"
ComboBoxTiponom.AddItem "AFRICANO"
End Select


[/CODE]

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.