Visual Basic - combo box

Life is soft - evento anual de software empresarial
   
Vista:

combo box

Publicado por Guille (20 intervenciones) el 16/09/2010 15:09:59
hola, como estan? queria saber si alguien me puede pasar una funcion para llenar los combos. resulta que tengo un formulario con varios combos y ensima en otros formularios tengo otros tantos combos y son alrededor de 10 lineas de codigo mas o menos cada vez que tengo que llenar alguno, lo que necesitaria es una funcion la cual yo dimencione como publica en el modulo y la pueda llamar desde cualquier form para que me vaya llenando los combo con los datos de la base de datos.
desde ya muchas gracias
Guillermo
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:combo box

Publicado por Jorge (55 intervenciones) el 16/09/2010 19:22:34
a ver si he entendido, tienes varios combos, y los llenas con los datos de la base de datos.
pero resulta que el codigo para llenar los combos es el mismo (o parecido) y debes repetirlo cada vez que inicialices un combo.
Ese tambien era mi problema y lo solucione asi:
en un modulo creas una fncion publica:
'-------------------------------

Public Function BDIniCombo(Cmbx As ComboBox, reg As Recordset, _
posCampoCod As Integer, posCampoDescripcion As Integer)

If (reg.EOF = True And reg.BOF = True) Then
___Cmbx.Clear
Else
___reg.MoveFirst
___Cmbx.Clear
___For i = 0 To reg.RecordCount - 1
______Cmbx.List(i) = reg.Fields(posCampoDescripcion)
______Cmbx.ItemData(i) = reg.Fields(posCampoCod)
______If reg.EOF Then
_________reg.MoveLast
______Else
_________reg.MoveNext
______End If
___Next i
End If
reg.Close
End Function

'------------------------
donde:

posCampoCod = posicion del campo de tu tabla (empezando desde cero) que lleva el codigoID (o si solo son datos sin ID entonces obvias este parametro y la linea donde lo llamas)

posCampoDescripcion = posicion del campo de tu tabla (empezando desde cero) que aparecera en tu combobox

digamos que tu tabla es Articulo
con los campos Codigo, Unidad, Grupo, Descripcion

entonces quieres que en el combo te aparezca una lista de los articulos (es decir el campo descripcion) entonces llamas a la funcion de esta forma:

call BDIniCombo(Mi_ComboBox, Mi_Recordset_de_Articulo, 0, 3)

0, porque Codigo esta en la primera posicion en la tabla
3, porque Descripcion esta en esa poscion en la tabla

y asi cada vez que quieras iniciar o actualizar los datos de un combo solo llamas esa linea de codigo sin tener que escribir la funcion muchas veces.para iniciar los combos

espero sea a lo que te referias
Salud!
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:combo box

Publicado por Guille (20 intervenciones) el 16/09/2010 23:46:31
Jorge muchisimas gracias, me sirvio de mucho, ahora si me evito de escribir un monton de lineas al vicio...
gracias por tu aporte colega (asi se llaman los que se dedican a lo mismo no?..jaja)
Saludos
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