Forum Discussion
Establecer valor por defecto Combo Box desde una SQL query
- Mar 24, 2022
¡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 StringstrSQL = "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 IfServus
Karl
************
Access News (March edition)
Access DevCon (April 28+29)
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)
- markarelMar 24, 2022Brass Contributor
Hola Karl_Donaubauer
Una vez mas, muchas gracias por tu respuesta, he tomado tu ejemplo como plantilla y he desarrollado lo siguiente, pero no funciona, no me da ningún error, pero la casilla sigue vacía.
Que puede ser?
- Mar 24, 2022
¡Hola!
¿Has comprobado si tu texto SQL devuelve un valor? P.e. establece un punto de interrupción y comprueba el valor de Campo1 o antes del If Not...
Debug.Print rs!Campo1
o
MsgBox rs!Campo1
o después de asignar el valor por defecto:
Debug.Print Me!nombre_caja.DefaultValue
para verlo en la ventana directa.
Servus
Karl
************
Access News (March edition)
Access DevCon (April 28+29)- markarelMar 24, 2022Brass Contributor
Hola, he establecido varios puntos de control pero ninguno devuelve nada, cuando abro el formulario no me aparece ningún Message Box ni ningún print en pantalla.
He probado a poner directamente un nombre se usuario y quitar la función fncUsurio pero sigue sin devolver nada. Que puede ser?