Programación General > Visual Basic 6.0 e inferiores
Combobox Con Item Seleccionado
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
[#] Página Siguiente
Ir a la versión completa