elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Cómo seleccionar elemento ComboBox por índice
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Cómo seleccionar elemento ComboBox por índice  (Leído 61,093 veces)
novalida

Desconectado Desconectado

Mensajes: 155


Ver Perfil
Cómo seleccionar elemento ComboBox por índice
« en: 10 Diciembre 2010, 22:47 pm »

Hola!!!
Me gustaría saber si alguien me puede ayudar pues tengo una duda al intentar mejorar un pequeño programa con el que estoy aprendiendo.
Tengo un control ComboBox en el que he añadido elementos y sus índices a partir de una base de datos, por lo que cada elemento queda identificado por cada índice.
El caso es que me gustaría poder seleccionar el elemento a partir de un índice que se introdujera en un TextBox.
En el caso de los meses, por ejemplo, introducir 1 en el TextBox, pulsar un botón, y sería seleccionado en el ComboBox el elemento "Enero".

Por otro lado me gustaría saber si alguien me puede indicar algun ebook de Visual Basic 6.0 que sea bueno y completo, ya que no encuentro demasiada información al respecto.

Un saludo y espero respuesta :)


En línea

ignorantev1.1


Desconectado Desconectado

Mensajes: 617


/\ Así acabo cuando quiero programar...


Ver Perfil WWW
Re: Cómo seleccionar elemento ComboBox por índice
« Respuesta #1 en: 10 Diciembre 2010, 23:16 pm »

Código
  1. Private Sub Command1_Click()
  2.    Combo1.ListIndex = Val(Text1.Text)
  3. End Sub
  4.  
  5.  

No se si te referias a esto  :rolleyes:


En línea

frekency


Desconectado Desconectado

Mensajes: 316



Ver Perfil
Re: Cómo seleccionar elemento ComboBox por índice
« Respuesta #2 en: 10 Diciembre 2010, 23:27 pm »

Creo que con esto ya te lo coge

Private Sub Command1_Click()
    Combo1.ListIndex = Text1.Text
End Sub
 
Sino le haces un cast a integer y listo


 Combo1.ListIndex = Cint (text1.text)
En línea



ignorantev1.1


Desconectado Desconectado

Mensajes: 617


/\ Así acabo cuando quiero programar...


Ver Perfil WWW
Re: Cómo seleccionar elemento ComboBox por índice
« Respuesta #3 en: 10 Diciembre 2010, 23:40 pm »

Código
  1.  
  2. Text1.Text="hola"
  3. ...
  4. Private Sub Command1_Click()
  5.    Combo1.ListIndex = Val(Text1.Text)  '<---si text1.text no es numerico se convierte en 0
  6. End Sub
  7.  
  8.  
  9.  
  10. Private Sub Command2_Click()
  11.    Combo1.ListIndex = Text1.Text '<---- Error no coinciden los tipos
  12. End Sub
  13.  
En línea

Edu


Desconectado Desconectado

Mensajes: 1.082


Ex XXX-ZERO-XXX


Ver Perfil
Re: Cómo seleccionar elemento ComboBox por índice
« Respuesta #4 en: 11 Diciembre 2010, 00:05 am »

Te falta leer mas entonces primero, porq necesitarias usar el Select q cuando leas sabras a q me refiero, busca en google:

elguille.info por si no es asi y busca tutorial de vb6 de el q son buenos y largos.. xD
En línea

novalida

Desconectado Desconectado

Mensajes: 155


Ver Perfil
Re: Cómo seleccionar elemento ComboBox por índice
« Respuesta #5 en: 11 Diciembre 2010, 00:14 am »

Muy buenas!!!
Muchas gracias por responder tan rápido.
Bueno, lo que me habeis indicado ya lo había intentado y no me funciona.
Así cargué con los datos el ComboBox:
Código:

With oComboBox
        .AddItem ("Enero")
        .ItemData(oComboBox.NewIndex) = 1
        .AddItem ("Febrero")
        .ItemData(oComboBox.NewIndex) = 2
        .AddItem ("Marzo")
        .ItemData(oComboBox.NewIndex) = 3
        .AddItem ("Abril")
        .ItemData(oComboBox.NewIndex) = 4
        .AddItem ("Mayo")
        .ItemData(oComboBox.NewIndex) = 5
        .AddItem ("Junio")
        .ItemData(oComboBox.NewIndex) = 6
        .AddItem ("Julio")
        .ItemData(oComboBox.NewIndex) = 7
        .AddItem ("Agosto")
        .ItemData(oComboBox.NewIndex) = 8
        .AddItem ("Septiembre")
        .ItemData(oComboBox.NewIndex) = 9
        .AddItem ("Octubre")
        .ItemData(oComboBox.NewIndex) = 10
        .AddItem ("Noviembre")
        .ItemData(oComboBox.NewIndex) = 11
        .AddItem ("Diciembre")
        .ItemData(oComboBox.NewIndex) = 12
End With



Al hacer lo que me proponéis siempre sale un elemento por debajo. Es decir, el índice del combobox es 0, pero yo le indiqué para el elemento "Enero" el índice 1. Al indicarle en el textbox el índice 1 me cambia el combobox a "Febrero" y no "Enero".
:S

XXX-ZERO-XXX , gracias por responder, pero no veo el uso del Select para lo que yo quiero, el cual es que el valor asociado a cada elemento de un combobox estará ligado al id asociado a ese elemento dentro una base de datos. EL ejemplo de los meses es algo sencillo para poder exponer mejor la duda que tengo.
En línea

Edu


Desconectado Desconectado

Mensajes: 1.082


Ex XXX-ZERO-XXX


Ver Perfil
Re: Cómo seleccionar elemento ComboBox por índice
« Respuesta #6 en: 11 Diciembre 2010, 00:20 am »

Ah pense q era algo mas facil , te entendi mal, y por lo q sabes supuestamente no necesitaras el manual q te dije q leas je, y yo sigo sin entender q quieres hacer xD
En línea

novalida

Desconectado Desconectado

Mensajes: 155


Ver Perfil
Re: Cómo seleccionar elemento ComboBox por índice
« Respuesta #7 en: 11 Diciembre 2010, 00:29 am »

XXX-ZERO-XXX , no te preocupes, quizás no me explico muy bien.
A ver si lo puedo hacer mejor :)
He creado un ComboBox de esta manera, y a cada elemento le asigno un índice: Enero 1, Febrero 2, etc...

Código:

With oComboBox
        .AddItem ("Enero")
        .ItemData(oComboBox.NewIndex) = 1
        .AddItem ("Febrero")
        .ItemData(oComboBox.NewIndex) = 2
        .AddItem ("Marzo")
        .ItemData(oComboBox.NewIndex) = 3
        .AddItem ("Abril")
        .ItemData(oComboBox.NewIndex) = 4
        .AddItem ("Mayo")
        .ItemData(oComboBox.NewIndex) = 5
        .AddItem ("Junio")
        .ItemData(oComboBox.NewIndex) = 6
        .AddItem ("Julio")
        .ItemData(oComboBox.NewIndex) = 7
        .AddItem ("Agosto")
        .ItemData(oComboBox.NewIndex) = 8
        .AddItem ("Septiembre")
        .ItemData(oComboBox.NewIndex) = 9
        .AddItem ("Octubre")
        .ItemData(oComboBox.NewIndex) = 10
        .AddItem ("Noviembre")
        .ItemData(oComboBox.NewIndex) = 11
        .AddItem ("Diciembre")
        .ItemData(oComboBox.NewIndex) = 12
End With



La respuesta que me han dado:

Código:

Private Sub Command1_Click()
   Combo1.ListIndex = Val(Text1.Text)
End Sub


Según esta respuesta, si en el TextBox pongo 1, el evento Command1_Click() selecciona el elemento "Febrero" y no "Enero" como yo quería que ocurriese.
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Cómo seleccionar elemento ComboBox por índice
« Respuesta #8 en: 11 Diciembre 2010, 00:42 am »

novalida, el ItemData es un espacio extra en el que puedes meter algun dato. no es el index necesariamente

Creo recordar en el metodo Add tienes para poner un index especifico, lo tendrias que hacer asi

Código
  1. With oComboBox
  2.        Call .AddItem ("Enero", 1)
  3.        Call .AddItem ("Febrero", 2)
  4.        Call .AddItem ("Marzo", 3)
  5. End With

:) espero que te sirva, si no entiendes me dices, estoy algo apurado y contesto rapido :xD
En línea

novalida

Desconectado Desconectado

Mensajes: 155


Ver Perfil
Re: Cómo seleccionar elemento ComboBox por índice
« Respuesta #9 en: 11 Diciembre 2010, 00:54 am »

raul338, gracias por contestar. He entendido que a un elemento se le puede asociar un valor Integer a través del ItemData. Quizás hibiese sido más correcto denominar el asunto de la duda como Cómo seleccionar elemento ComboBox por su ItemData :)
Ya había intentado la solución que me propones, pero no sé por qué al poner .AddItem ("Enero", 1) me da el error: Se esperaba: =

Se me acaba de ocurrir esta solución:

Código:

Private Sub Command1_Click()
     Dim i As Integer
    
    For i = 0 To Me.Combo1.ListCount - 1 Step 1
        Me.Combo1.ListIndex = i
        If Me.Combo1.ItemData(Me.Combo1.ListIndex) = Val(Me.Text1.Text) Then
            Exit Sub
        End If
    Next
End Sub


No sé si es la única solución, pero si hay una que sea más elegante me gustaría conocerla.
Con VB6 no tengo mucha experiencia y quizás no se me ocurre algo que sea más sencillo.
« Última modificación: 11 Diciembre 2010, 01:02 am por novalida » En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
seleccionar elemento listbox
Programación Visual Basic
amtapias 1 3,644 Último mensaje 13 Marzo 2006, 15:55 pm
por .Slasher-K.
combobox y dataset si carga pero no puedo seleccionar los datos
.NET (C#, VB.NET, ASP)
raul006 5 5,915 Último mensaje 18 Noviembre 2009, 03:15 am
por Hadess_inf
Duda Seleccionar o Alterar Elemento con Jquery
Desarrollo Web
Slikp 1 1,244 Último mensaje 15 Enero 2015, 12:45 pm
por #!drvy
Agregar elemento a ComboBox
.NET (C#, VB.NET, ASP)
papydeath95 5 2,480 Último mensaje 3 Marzo 2016, 23:48 pm
por Eleкtro
MOVIDO: Agregar elemento a ComboBox
Programación Visual Basic
Eleкtro 0 952 Último mensaje 3 Marzo 2016, 21:57 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines