Ayuda listbox

Hola experto, mi inquietud es la siguiente:
Tengo un form, con un listbox, en este objeto aparecerán los nombre de cada ciudad, al seleccionar un nombre el programa me debe traer el código de dicha ciudad, (los nombres de las ciudades pueden estar repetidas pero su código no), me ayudas por favor.
P.D: la bd es de access.
Mi e-mail:
[email protected]
[email protected]
[email protected]
Respuesta
1
Tienes que utilizar uma rutina como la siguiente:
Public Sub gs_AgregaDatosCombo(ByRef po_ComboBox As ComboBox, ByVal ps_SQL As String, Optional ByVal pb_Item As Boolean, Optional ByVal pb_Porcent As Boolean = True, Optional ByVal pb_CyD As Boolean)
Dim rs_Recordset As ADODB.Recordset
Dim ls_T As String
On Error GoTo Error
Screen.MousePointer = vbHourglass
If cnx.gf_AbreRecordset(gcx_Conexion, rs_Recordset, Trim$(ps_SQL)) Then ' Al obtener registros
po_ComboBox.Clear ' Vacia ComboBox
Do While Not rs_Recordset.EOF ' Hasta el último registro
'If pb_Porcent = True Then goFrmP.stbEstado.Panels(1).Text = CStr((rs_Recordset.AbsolutePosition * 100) \ rs_Recordset.RecordCount) & " %"
If pb_Item = False Then
ls_T = Trim$(rs_Recordset.Fields(0)) ' Agrega primer campo
If pb_CyD = True Then
ls_T = ls_T & " - " & Trim$(rs_Recordset.Fields(1)) ' Agrega segundo campo
End If
po_ComboBox.AddItem ls_T ' Agrega registro al ComboBox
ElseIf pb_Item = True Then
po_ComboBox.AddItem Trim$(rs_Recordset.Fields(1)) ' Agrega registro al ComboBox
po_ComboBox.ItemData(po_ComboBox.NewIndex) = Trim(rs_Recordset.Fields(0)) ' ItemData
End If
rs_Recordset.MoveNext ' Siguiente registro
Loop
rs_Recordset.Close ' Cierra recordset
'If pb_Porcent = True Then goFrmP.stbEstado.Panels(1).Text = "0 %"
End If
Set rs_Recordset = Nothing ' Destruye recordset
Screen.MousePointer = vbNormal
Error:
If Err <> 0 Then
MsgBox Err.Description, vbExclamation, App.Title, Err.HelpFile, Err.HelpContext
Set rs_Recordset = Nothing ' Destruye recordset
Screen.MousePointer = vbNormal
Err.Clear
End If
End Sub
Y al final de tu listbox:
mivalor = list1.itemdata(list1.listindex)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas