Visual Basic - Llenar Combo Box

Life is soft - evento anual de software empresarial
 
Vista:

Llenar Combo Box

Publicado por Ramiro (20 intervenciones) el 05/01/2007 18:11:12
Hola, quisiera saber como poder llenar un combo box en tiempo de ejecucion, y que estos datos luego queden en el para otra ejecucion.
Ademas este combo puede llegar a tener datos traidos de una tabla, ademas de los que agrego manualmete.
Gracias - Esto es medio urgente si es posible
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Llenar Combo Box

Publicado por Mr Reagan (1 intervención) el 07/01/2007 00:31:45
os ayudo, lo mejor qu e pdweis hacer es que qyando en piece del proegraqna lo pomdasis den eun archivo o komo se llemame des pis de la grabais en el ini y cuandi enempese el persino pormagrana kojeis los datos de ay.
cro questa claro pero si ni lo entendeis nos lo desis,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Llenar Combo Box

Publicado por Edwin (303 intervenciones) el 07/01/2007 03:43:06
Pues mira, solo tienes que usar tu ingenio OK, lo que yo haría en tu caso sería tener una tabla en el cual se guarde el contenido de tu combobox cuando empieze a ejecutar OK, esta tabla debe de guardar todo lo que llenes en tu combobox, y para guardar información en tu combobox lo puedes hacer simplemente con una sentecia repetitiva preferible el WHILE.

while (tabla.recordset.eof=false)
combo1.additem tabla.fileds(x)
tabla.recordset.movenext
loop
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Llenar Combo Box

Publicado por Christian Rodriguez O. (2 intervenciones) el 09/01/2007 16:17:07
Mira yo cree este procedimiento

Sub llenarCombo(tabla As String, campo As String, listarDistintos As Boolean, cbo As Control, Optional condicion As String, Optional campoValue As String)
Dim rs As New ADODB.Recordset
Dim sql As String

If listarDistintos Then
sql = "SELECT DISTINCT " & campo
Else
sql = "SELECT * "
End If

sql = sql & " FROM " & tabla

If condicion <> "" Then
sql = sql & " " & condicion
End If

rs.Open sql, cnn, adOpenDynamic, adLockReadOnly
rs.MoveFirst
cbo.Clear
If campoValue <> "" Then
cbo.ColumnCount = 2
cbo.TextColumn = 1
cbo.ColumnWidths = "-1;0"
End If

Do While Not rs.EOF
DoEvents
If campoValue <> "" Then
cbo.AddItem rs.Fields(campo)
cbo.List(cbo.ListCount - 1, 1) = rs.Fields(campoValue)
Else
cbo.AddItem rs.Fields(campo)
End If
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
End Sub


Este procedmiento esta diseñado para ser usado con el ComboBox de Microsoft Forms 2.0 (Permite autocompletar)

Asume una conexion de nombre cnn ( o puedes agregarla como parametro -
cnn as ADODB.Conection)

Los parametros son

tabla: el nombre de la tabla
campo: el nombre del campo a listar
listarDistintos: si se desea usa DISTINCT ROW
cbo: el combobox (va por referencia)
Optional condicion: condicion a usar ("WHERE Id=100")
campoValue: nombre del campo valor ("Id")

ejemplo:

llenarCombo "GuiaCorreoDetalle", "Institucion", True, cboInstituciones

Llena un combo de nombre cboInstituciones con el campo Institucion de la tabla GuiaCorreoDetalle, y muesta usando DISCTINT ROW


llenarCombo "GuiaCorreoDetalle", "Destino", True, cboDestinos, "WHERE Destino IS NOT NULL"

llena un combo de nombre cboDestinos con el campo Destino de la tabla GuiaCorreoDetalle, y muestra usando DISTINCT ROW, y con la condicion de que no sean valores nulos

------------------------------------------------------------------------------------------------------

Puedes modificar el rpocedmiento para usarlo con un combobox normal
Se debe quitar el uso de la propiedad List, y trabajar con el ItemData


Adios
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Gracias!!!

Publicado por Ramiro (20 intervenciones) el 10/01/2007 22:32:00
gracias a todos por vuestras responses pero como puse al principio era urgente y se pasó el tiempo. espero que a la prosima contesteis antes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Gracias!!!

Publicado por Christian (38 intervenciones) el 12/01/2007 12:47:25
Si contestamos a Tiempo..... Recibiremos parte de tus Honorarios o sueldo ??????

Estamos para ayudar no para hacerles el trabajo.... menos Urgente....

Jajajajajjaaj

Era una broma, aunque no me agradó ayudar a alguien que necesitaba algo urgente, y cuando se le pasa el Plazo, no lo publica en su Mensaje en el Foro...

Debes señalar cuando ya no quieres la respuesta, pues haces que perdamos tiempo ayudandote, en vez de ayudar a otros que si lo necesitan..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar