Combobox de Formulario de excel no se limpia

Quisiera que me ayuden con un problemilla que tengo con un código, estoy cargando un combo del form en excel que es consultado de una BD de access, el código logra cargar pero ya que es con una condición al cambiar el combo del cual depende el combo2 este no se limpia y va cargando los datos en cada consulta je je, el código es este y solo faltaría que limpie el combo cbo_empresa dejo mi macro para que me puedan ayudar, gracias.

Sub BuscarCargos()
    Dim nombre As String
    IDEMPRESA= UserForm2.CBO_EMPRESA.Value 'COMBO 1
    Set cn = New ADODB.Connection
    Set RsCargo = New ADODB.Recordset
    nombre = ThisWorkbook.Path & "\DATABASE_EMPRESA.accdb"
        cn.Open "provider=microsoft.ACE.OLEDB.15.0; " & "data source=" & nombre & ";"
            RsCargo.ActiveConnection = cn
            RsCargo.CursorType = adOpenStatic
            RsCargo.LockType = adLockOptimistic
            RsCargo.CursorLocation = adUseClient
            RsCargo.Open "SELECT CARGO FROM EMPRESA WHERE ID = '" & IDEMPRESA & "' GROUP BY CARGO"
                Do While Not RsCargo.EOF()    
                    UserForm2.cbo_Cargos.AddItem RsCargo("CARGO") 'COMBO 2
                    RsCargo.MoveNext
                Loop
       Set RsCargo = Nothing
       cn.Close
       Set cn = Nothing
End Sub
Este código realiza la búsqueda pero no se limpia cuando elijo otro item del combo () del cual depende y se va cargando con cada cambio
1

1 respuesta

Respuesta
1

No entendí bien, según el código, entonces deberías limpiar el cbo_cargos

Utiliza lo siguiente para limpiar

UserForm2.cbo_Cargos. Clear

Quedaría así:

Sub BuscarCargos()
    Dim nombre As String
    IDEMPRESA= UserForm2.CBO_EMPRESA.Value 'COMBO 1
'
    UserForm2.cbo_Cargos.clear
'
    Set cn = New ADODB.Connection
    Set RsCargo = New ADODB.Recordset
    nombre = ThisWorkbook.Path & "\DATABASE_EMPRESA.accdb"
        cn.Open "provider=microsoft.ACE.OLEDB.15.0; " & "data source=" & nombre & ";"
            RsCargo.ActiveConnection = cn
            RsCargo.CursorType = adOpenStatic
            RsCargo.LockType = adLockOptimistic
            RsCargo.CursorLocation = adUseClient
            RsCargo.Open "SELECT CARGO FROM EMPRESA WHERE ID = '" & IDEMPRESA & "' GROUP BY CARGO"
                Do While Not RsCargo.EOF()    
                    UserForm2.cbo_Cargos.AddItem RsCargo("CARGO") 'COMBO 2
                    RsCargo.MoveNext
                Loop
       Set RsCargo = Nothing
       cn.Close
       Set cn = Nothing
End Sub
Este código realiza la búsqueda pero no se limpi

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas