Programación General > Visual Basic 6.0 e inferiores

 Combobox Con Item Seleccionado

(1/2) > >>

MeLaT:
Hola !!!

Cuando abro un formulario, cargo un ComboBox (cmb_estado) asi:


--- Código: Text --- If CN.State = 0 Then CONEXION    CRITERIO = "SELECT * FROM T_ESTADOS"    abrirRS    For i = 1 To RS.RecordCount        cmb_estado.AddItem RS.Fields("EDO_ESTADO")        RS.MoveNext    Next i  
Pero cuando hago una busqueda y si encuentra el registro, cómo hago para que el elemento del ComboBox (cmb_estado) quede seleccionado dependiendo del que tenga en la bd.

Sagutxo:
Salu2. No estoy seguro de enterder, se me hace raro hacer una busqueda en un Combo. Prueba a usar su propiedad listindex.

O si usas un for simplemente pon exit for cuando el campo sea el correcto.

 :comp:  :smartass:  :comp:

MeLaT:
Tal vez no me explique bien, mira lo que hace un Form1 es:
 
1. Cuando se abre un Form1, ComboBox1 se carga con todos los campos de una tabla con el código que puse, eso ya esta.
2. Al evento clic de un Command1 se busca un registro en la base de datos, y si se encuentra el registro empieza a llenar Text1, Text2, etc. Eso también ya lo tengo. Pero cuando llego al ComboBox1, ahi es donde me quedo, no se que propiedad tengo que utilizar para que un item de los que ya estan cargados en ComboBox1 y que sea igual que el dato que tengo en un campo de la base de datos este seleccionado.

Por ejemplo:
1. Al abrirse Form1 a ComboBox1 se le añaden estos items:

Ayer
Hoy
Mañana

2. Al evento _clic de un Command1 se busca un registro en la base de datos, si lo encuentra, en un campo de cierta tabla que se llama días, ese registro que busque tiene en un campo Mañana. Cómo hago para que en ComboBox1 quede seleccionado Mañana y no Ayer u Hoy?

Mañana

Gracias por sus aportes. Estoy en Duda.

Sagutxo:
Salu2, pues si que es raro, debo estar espeso, supongo que con un for no tienes ningún problema,

for Combo.listindex=0 to objeto.count

  if Combo.text = "Lo que quieres" then
  exit for
  end if

next Combo.listindex

Supongo que esto funciona. Suerte.
 :smartass:  :comp:  :smartass:

mamex:
Yo hice una función para facilitarme eso:


--- Código: Text --- 'Busca un texto en un combo, si lo encuentra se posiciona en el'sino, te deja con el texto k teníaPublic Function BuscarEnCombo(cmb As ComboBox, valor As String) As Boolean    Dim i As Long    i = 0    'Mientras no encuentre el valor y hayan elementos en la lista    While cmb.List(i) <> valor And i < cmb.ListCount        i = i + 1    Wend    'Si lo encontró    If cmb.List(i) = valor Then        cmb.ListIndex = i        BuscarEnCombo = True    End IfEnd Function  
Te regresa un true, si el elemento existe en el combo y un false, si no existe.

Lo ocupas de la siguiente manera

--- Código: Text --- buscarEnCombo(miCombo,"Mañana")  

Otra manera mas facil, si sabes que el elemento existe realmente en el combo, sólo escribe:

--- Código: Text --- combo1.text = rs!miCampo  Que aqui pondrias el valor de tu campo

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa