Imprimir página | Cerrar ventana

Llenar un control cuadro de Lista

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=86755
Fecha de impresión: 27/Marzo/2026 a las 04:08


Tema: Llenar un control cuadro de Lista
Publicado por: RobertoCarlos
Asunto: Llenar un control cuadro de Lista
Fecha de publicación: 28/Agosto/2023 a las 19:07
Muy bien día a todos, muy respetuosamente mente vengo a pedirles por favor me ayuden necesito cargar un control de cuadro de lista llamado lsvMaterias, con los datos que tengo en una tabla llamada TablaDetalleLaboral, mediante una consulta lo he logrado, pero quiero hacerlo por código Vba, para ello tengo este código, el cual no carga los datos.
estoy seguro que hay datos estoy seguro que el dato por el que deseo buscar se encuentra en la tabla, porque los he podido visualizar mediante un mensaje cada registro, ya que son dos registros, pero no puedo visualizar en el control cuadro de lista llamado lsvMaterias.
aquí el código que tengo:
 Private Sub CargarDetalleLaboralAModificar()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim strSQL As String
    Dim ciBuscar As Long
    
    Set db = CurrentDb
    ciBuscar = Val(Me.txtCIPersonaLaboral.Value) ' Obtener el ID de búsqueda desde el control txtCIPersonaLaboral
    strSQL = "SELECT * FROM TablaDetalleLaboral WHERE IdCedulaIdentidad = " & ciBuscar ' Construir la consulta SQL
    Set rs = db.OpenRecordset(strSQL)
    
    Me.lsvMaterias.RowSource = "" ' Limpia la fuente de datos actual
    Set Me.lsvMaterias.Recordset = rs ' Asigna el recordset al control lsvMaterias
    
    rs.Close
    'Set rs = Nothing
    Set db = Nothing
End Sub

por favor ayudenme a encontrar la solución
una solucion que encontre fue crear una consulta y en origen de la fila seleccione mi consulta y sí efectivamente se cargan los datos, pero tampoco se como llamar a la consulta desde un boton, porque tengo un cuadro de texto para llenar el valor a buscar, y hacer clic en el boton para se cargue pero tampoco puedo hacer, por favor ayuda con este problema para mi.
gracias
Roberto


-------------
Roberto



Respuestas:
Publicado por: xavi
Fecha de publicación: 28/Agosto/2023 a las 19:50
Hola,

Creo que matas moscas a cañonazos... y te sobra mucho código. Basta con asignar la cadena SQL a la propiedad RowSource del ListBox (que tendrá como tipo Tabla/Consulta). Con esta línea de código (escrita al vuelo) podría funcionar:

Me!lsvMaterias.RowSource = "SELECT * FROM TablaDetalleLaboral WHERE IdCedulaIdentidad = " & Me!txtCIPersonaLaboral

Para mi, todo lo demás sobra

Un saludo


-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: RobertoCarlos
Fecha de publicación: 28/Agosto/2023 a las 20:45
Sí, la verdad que estaba matando moscas con dinamita, pero ya no lo haré gracias a tu ayuda.
muchisimas gracias.
esta era la respuesta:
Me!lsvMaterias.RowSource = "SELECT * FROM TablaDetalleLaboral WHERE IdCedulaIdentidad = " & Me!txtCIPersonaLaboral

he podido solicionar mi problema, el código de arriba fue la solución
por favor, pueden marcar como respuesta correcta y cerrar el hilo de la pregunta.

Gracias


-------------
Roberto



Imprimir página | Cerrar ventana