Visual Basic - Como llenar un Combo

Life is soft - evento anual de software empresarial
   
Vista:

Como llenar un Combo

Publicado por Rosy (31 intervenciones) el 13/05/2008 22:32:59
Hola, estoy trabajando con VB 6.0 y Access. Necesito llenar un combo con una tabla que tiene dos campos, Nombre del Medico y Rut del Medico. Necesito mostrar en el combo el nombre del medico, pero que cuando se seleccione un medico, poder rescatar el RUT. Al utilizar la siguiente rutina me aparece un mensaje de error en el ItemData porque no corresponden lo tipos de datos. Al parecer, en el ItemData solo se pueden colocar valores numericos, sin embargo, yo necesito guardar el rut que es caracter ¿Existe alguna forma para solucionar este problema?

Sub Cargar_CboMedicos()
Dim i As Integer, glosa As String
i = 0
TB_MEDICOS.MoveFirst
While Not TB_MEDICOS.EOF
cboMedicos.AddItem TB_MEDICOS!nom_medico
cboMedicos.ItemData(i) = TB_MEDICOS!Rut_medico
TB_MEDICOS.MoveNext
i = i + 1
Wend
End Sub
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:Como llenar un Combo

Publicado por Enrique Veliz (5 intervenciones) el 13/05/2008 22:48:11
Que tal, mira no te hagas tantas bolas, trabaja con el DataCombo que lo puedes jalar desde componentes.
Su modo de uso es el que sigue

dim rsMedico as new Recordset
rsMedico.Open "Select * from Medico",Conexion,Condicion1,Condicion2
if rsMedico.recordcount>0 then
DataCombo1.Boundcolumn="IdMEdico"
DataCombo1.ListFields="NomMedico"
set DataCombo1.Rowsource=rsMedico
End if

y cuando actualicez solo le pasas el valor del boundcolumn, algo asi:

RsActualiza.Fields("IdMedico")=trim(DataCombo1.BoundText)

y Listo, y cuando llanes a ese campo igualas el BoundText con el valor de tu tabla
DataCombo1.BoundText=rsTabla.Fields("ElCampo")

Espero te sirva
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:Como llenar un Combo

Publicado por Rosy (31 intervenciones) el 13/05/2008 23:23:15
Gracias, pero no me aparece el DataCombo en los componentes, de manera que no lo puedo usar.

Rosy
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:Como llenar un Combo

Publicado por otro (25 intervenciones) el 14/05/2008 00:29:04
Sub Cargar_CboMedicos()
TB_MEDICOS.Open "Select * from Medico",cn,...,...

cboMedicos.DataSource = TB_MEDICOS
cboMedicos.DataField = "cod_medico"
cboMedicos.DataMember ="nom_medico"
End Sub

Creo seria asi.
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:Como llenar un Combo

Publicado por ivan (1041 intervenciones) el 14/05/2008 09:35:07
El control DataCombo se encuentra en el componente Microsoft DataList Controls 6.0
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:me sale un error con el DataCombo

Publicado por Rosy (31 intervenciones) el 14/05/2008 15:44:36
Como me sugeriste, estoy usando un dataCombo, y cargo de la siguiente manera:

IF TB_MEDICOS.RecordCount > 0 Then
Set dcboMedicos.RowSource = TB_MEDICOS
dcboMedicos.BoundColumn = "rut_medico"
dcboMedicos.ListField = "nom_medico"
End If

Sin embargo me sale el siguientes error:
Error '13' en tiempo de ejecucion
No coinciden los tipo
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:me sale un error con el DataCombo

Publicado por paco (42 intervenciones) el 14/05/2008 23:08:40
yo creo que deberias cambiar los medicos por enfermeras ya que son mas manejables, y lo digo yo por experiencia.

todavia no he conseguido tirarme a ningún médico, pero a las enfermeras casi todas

nota. hay una que se resiste, pero esa cae seguro. solo es cuestión de espera y que algún día me vea la verga y la compare con la de su novio.

y entonces diría "No coinciden los tipo" lo mismo que te ocurre a ti misma.
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