funcion:
Public Function ComboMod(Sql As String, Combo As DataCombo, Registro As Integer)
'* OBJETIVOS : rsbuscar un DataCombo
'* apartir de una Instrucción de SQL
'* RECIBE: SQL Instrucción de SQL (Select * from Tabla)
'* Combo El DataCombo que se desea rsbuscar
'* Registro Cual campo es el BoundColumn
'* campo siguiente del registro es ListField
On Error GoTo Error
Set RegAdo = New ADODB.Recordset
Donde = 1
RegAdo.CursorLocation = adUseClient
Set RegAdo.ActiveConnection = Nothing
RegAdo.Open Sql, AmbienteDatos.Basegral, adOpenStatic, adLockReadOnly
Set RegAdo.ActiveConnection = Nothing
Donde = 2
Set Combo.RowSource = RegAdo.DataSource
Combo.RowMember = RegAdo.DataMember
Combo.BoundColumn = RegAdo.Fields(Registro).Name
Combo.ListField = RegAdo.Fields(Registro + 1).Name
Combo.ReFill
Error:
If Err.Number <> 0 Then
MsgBox Err.Description, vbCritical + vbOKOnly, "call classcls.ComboMod: " & Err.Number
If Donde = 2 Then
RegAdo.Close
Set RegAdo = Nothing
End If
Set RegAdo = Nothing
End If
End Function
para llenar lo colocas
call classcls.combomod("select * from tabla ",me.micombo(0),0)
el sistema te llena la lista
y luego para mostrar alguno en especifico lo puedes igual por le NOMBRE
como lo tienes o por el codigo
ej: me.micombo..BoundText =el codigo o item si es llave:
mira : select cedula, nombre
el sistema llena en el combo:
oculto la cedula y te muestra el nombre
si no quieres igual el nombre lo igual por el
me.micombo.BoundText=rs("cedula")
ó
me.micombo.Text=rs("nombre")
espero que me haya explicado
saludos
Oscar Armando Sanchez Toro
Desarrollador de Software y Redes
msn/correo:
[email protected] [email protected]