Jump to content

Cargar combobox con datos de Access y obtener ID en textbox al seleccionar


Recommended Posts

Estimados buenas tardes,

Recurro a Uds para ver si me pueden ayudar con algo que parece sencillo pero me esta complicando.

Estoy cargando un combobox y guardando el Id  en un textbox para usarlo posteriormente 

El tema es que quiero mostrar  solo el nombre en el combobox y solo muestra  campo 0 correspondiente al ID

El Id lo copio correctamente al textbox pero no puedo lograr mostrar el nombre en el combo para seleccionar correctamente

Aguardo sus sugerencias

Adjunto archivo de excel y Base de datos

Gracias

 

Cargo Combobox Access.xlsb BaseDatos.rar

Link to comment
Share on other sites

Muchas gracias,

Es justamente lo que necesitaba.

Par cargar también la columna 3 (RubradoDescripcion) o cualquier otra columna a otro textbox, como seria ?

Aplico la misma lógica y no la encuentro

Saludos

Link to comment
Share on other sites

Copio el codigo por si a alguien le sirve

Saludos.


'Esta funcion toma un campo como parámetro y devuelve el valor seguro, ya sea el valor real del campo o una cadena vacía
'si el campo es NULL, controlamos error de esta manera 

Private Function ControloNull(field As Object) As String
    If Not IsNull(field.Value) Then
        ControloNull = field.Value
    Else
        ControloNull = ""
    End If
End Function

Private Sub CargoComboAccess()
    Dim cn As Object
    Dim datos As Object
    Dim consultaSQL As String
    Dim conexion As String
    Dim rutaBaseDatos As String
    
    Set cn = CreateObject("ADODB.Connection")
    
    ' Obtengo la ruta donde se encuentra el archivo de Excel actual
    rutaBaseDatos = ThisWorkbook.Path & "\Rbo.accdb"
    
    conexion = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
    "Data Source=" & rutaBaseDatos ' Ruta de la base de datos en la misma carpeta del archivo de Excel
        
    consultaSQL = "SELECT * FROM TRUBRADO" '  nombre tabla access
    cn.Open conexion
    Set datos = cn.Execute(consultaSQL)
    Do While Not datos.EOF
        Dim campoID As String
        Dim campoNombre As String
        Dim campoDescripcion As String
        
        campoID = ControloNull(datos.Fields(0))
        campoNombre = ControloNull(datos.Fields(1))
        campoDescripcion = ControloNull(datos.Fields(2)) ' índice
        
        ' Agregar el campoNombre al ComboBox
        Me.ComboBox1.AddItem campoNombre
        
        ' Guardar el campoID en la propiedad List del ComboBox
        Me.ComboBox1.List(Me.ComboBox1.ListCount - 1, 1) = campoID
        
        ' Guardar campoDescripcion en la propiedad List del ComboBox
        Me.ComboBox1.List(Me.ComboBox1.ListCount - 1, 2) = campoDescripcion
        
        datos.MoveNext
    Loop
    datos.Close
    Set datos = Nothing
    cn.Close
    Set cn = Nothing
End Sub

Private Sub ComboBox1_Change()
    ' Obtener el campoID y campoDescripcion del elemento seleccionado en el ComboBox
    Dim campoID As String
    Dim campoDescripcion As String
    
    campoID = Me.ComboBox1.List(Me.ComboBox1.ListIndex, 1)
    campoDescripcion = Me.ComboBox1.List(Me.ComboBox1.ListIndex, 2)
    
    ' Asignar el campoID al TextBox1
    Me.TextBox1.Value = campoID
    
    ' Asignar el campoDescripcion al TextBox3
    Me.TextBox3.Value = campoDescripcion
End Sub
 

Link to comment
Share on other sites

 

Antoni buenas tardes,

en el archivo que me retornaste viene con este nuevo VbaProject  ( adjunto copia de pantalla ) y pide contraseña, pense que era solo en este archivo pero creo un archivo nuevo y trae esto como predeterminado y no lo puedo eliminar.

Aguardo tus comentarios  por si sabes que es esto  que me doy  cuenta ahora 

Me llama la atención porque en otra maquina no  ocurre lo mismo

Aguardo comentarios

Saludos

 

image.png

Link to comment
Share on other sites

No tengo nada que ver con eso, eso es que has añadido un complemento o quizás has abierto un archivo .xla.

Revisa el apartado  Complementos en la ficha Programador.

Edited by Antoni
Link to comment
Share on other sites

Estimado Antoni,

Mil disculpas del caso, ni en el archivo que envié ni en el tuyo estaba  el  VbaProject   que me apareció en excel  y pide contraseña.

Dicho esto le consulto:

No instale complemento alguno y de todas maneras me pide contraseña, ¿es normal esto?,  piden contraseña los complementos?,  aguardo sus comentarios y sugerencias  para ver si puedo quitar este  VbaProject que se genero  con un nombre que no esta claro y no dice nada.

Saludos

Gracias

 

image.png

Link to comment
Share on other sites

No tengo ni idea, esto es lo que te cuenta el ChatGPT sobre el tema de los archivo .xla.

Cita

Los archivos con extensión .XLA son archivos de complemento utilizados en Microsoft Excel. Estos archivos se conocen como "Complementos de Excel" o "Complementos de hoja de cálculo" y se utilizan para agregar funcionalidad personalizada a Excel. Los archivos .XLA son específicos de versiones antiguas de Excel, como Excel 2003 y versiones anteriores. A partir de Excel 2007, se introdujo un nuevo formato de archivo de complemento llamado .XLSX, que es más versátil y puede contener macros y funciones personalizadas.

Los archivos .XLA pueden contener código VBA (Visual Basic for Applications) que agrega nuevas funciones, características o automatiza tareas en Excel. Por ejemplo, podrían usarse para crear funciones personalizadas que no están disponibles en las fórmulas estándar de Excel, o para automatizar tareas repetitivas.

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • 72 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Files

  • Download Statistics

    • Files
      169
    • Comments
      89
    • Reviews
      26

    Latest File
    By pegones1

    4    0

  • Crear macros Excel

  • Posts

    • Entonces sería esto lo que necesitas verdad ?
    • buen día estimados los molesto con la siguiente consulta yo tengo un archivo Excel de valores numéricos (costo) , pero debo de pasarlo a un formato texto con tres decimales por mas que sea un entero. cual seria la mejor forma para tener la columna CONCATENADO, en la que debe figurar el entero con tres decimales desde ya muchas gracias por la ayuda de siempre enteros y decimales en celdas distintas.xlsx
    • Muchas gracias por la respuesta Israel. Me sirve el dato. No es necesario algo tan complejo. Si por ahí tienes una idea de utilización que me puedas orientar con la función GoogleFinance te lo agradezco. 
    • Hola a todos, Necesito una formula que busque los días que hubo la temperatura más alta y los anote separados por un guion. En el ejemplo que subo serían los días 10, 14 y 26. Gracias de antemano Máximas mensuales.xlsx
    • Lo que te puedo comentar sobre tu consulta es en base a mi experiencia y que tanto en Excel como en Google Sheets es posible obtener el tipo de cambio. En Excel 365 usando la función MONEDA y en Google Sheets tienes una función llamada GOOGLEFINANCE(), Es importante resaltar que el tipo de cambio no es de un sitio específico como lo quieres. Para obtener la cotización del dólar desde un sitio específico como BNA, necesitarías usar técnicas de web scraping. Un método utilizado para extraer información de sitios web. Sin embargo, este proceso no siempre es posible debido a las restricciones del sitio web. Si eres cliente del Banco podrías consultar con la institución.
  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Privacy Policy