Forum Discussion

markarel's avatar
markarel
Copper Contributor
Mar 22, 2022
Solved

Establecer valor por defecto Combo Box desde una SQL query

Hola a todos!

 

Me estoy realizando una BBDD y tengo un problema con un formulario. En uno de los ComboBox que utilizo, me gustaría poner como valor por defecto el resultado de una query SQL, el problema es que no me funciona dado que no lo detecta como función.

 

Hay alguna otra función que permita esto? es posible hacerlo mediante VBA?

 

Gracias de antemano a todos!

  • ¡Hola!

     

    Con un evento adecuado (abrir el formulario o algo así) puedes utilizar un código como éste:

     

    Dim rs As DAO.Recordset
    Dim strSQL As String

     

    strSQL = "SELECT Campo1 " & _
        " FROM Tabla " & _
        " WHERE Id=42"

    Set rs = CurrentDb.OpenRecordset(strSQL, dbOpenSnapshot)

     

    If Not rs.BOF Then
        Forms!Formulario1!Combo1.DefaultValue = rs!Campo1
    End If

     

    Servus
    Karl
    ************
    Access News (March edition)
    Access DevCon (April 28+29)

     

16 Replies

    • markarel's avatar
      markarel
      Copper Contributor

      Muchas gracias Karl_Donaubauer, pero, me gustaría mediante VBA realizar una consulta SQL (Select) que devuelve solamente un valor y que este valor sea el valor por defecto de un Cuadro combinado.

       

      Ya he localizado la forma de establecer un valor por defecto en un cuadro combinado mediante VBA, pero no se como realizar una consulta SELECT a una tabla de este mismo fichero Access, como se hace?

       

      Gracias de antemano.

      • ¡Hola!

         

        Con un evento adecuado (abrir el formulario o algo así) puedes utilizar un código como éste:

         

        Dim rs As DAO.Recordset
        Dim strSQL As String

         

        strSQL = "SELECT Campo1 " & _
            " FROM Tabla " & _
            " WHERE Id=42"

        Set rs = CurrentDb.OpenRecordset(strSQL, dbOpenSnapshot)

         

        If Not rs.BOF Then
            Forms!Formulario1!Combo1.DefaultValue = rs!Campo1
        End If

         

        Servus
        Karl
        ************
        Access News (March edition)
        Access DevCon (April 28+29)

         

Resources