ms-access - seleccion - ejemplos de valores predeterminados access
Combobox establece el valor predeterminado (1)
Tengo un formulario que contiene un cuadro combinado con una lista de empleados. Quiero establecer el último valor seleccionado como predeterminado para este cuadro combinado cuando se abra la próxima vez. A continuación está siguiendo mi código que no está funcionando.
Private Sub combobox_AfterUpdate()
newDefault = Form_Calc.combobox.Text
Form_Calc.combobox.DefaultValue = newDefault
End Sub
La lista contiene nombres completos, algo así como: "John Snow", "Mary Jane Johnson", "etc."
¿Nadie?
La propiedad .Text
solo está disponible mientras el combo tiene foco. En cualquier otro momento debe usar su propiedad .Value
.
Esto funciona con mi cuadro combinado y hace lo que creo que estás pidiendo.
Private Sub cboAccountID_AfterUpdate()
Me.cboAccountID.DefaultValue = Me.cboAccountID.Value
MsgBox "DefaultValue: " & Me.cboAccountID.DefaultValue
End Sub
Ese enfoque mantendrá DefaultValue como lo desee hasta que cierre el formulario. Pero desea utilizar el último valor nuevamente cuando se abra el formulario la próxima vez.
En ese caso, puede guardar el valor en Form_Close
y restaurarlo la próxima vez en Form_Load
.
Utilizo una tabla para almacenar valores de opciones de usuario. Y tengo esta consulta, qryUpdateOption , para actualizar un valor guardado.
PARAMETERS pKey Text ( 255 ), pValue Text ( 255 );
UPDATE tblOptions AS o
SET o.option_value = [pValue]
WHERE o.option_key=[pKey];
Por lo tanto, en Form_Close
, puedo guardar el valor actual de cboAccountID.DefaultValue
.
Dim db As DAO.Database
Dim qdf As DAO.QueryDef
Set db = currentd
Set qdf = db.QueryDefs("qryUpdateOption")
qdf.Parameters("pValue").value = Me.cboAccountID.DefaultValue
qdf.Parameters("pKey").value = "cboAccountID.DefaultValue"
qdf.Execute dbFailOnError
Y en Form_Load
, puedo recuperar ese valor y asignarlo a cboAccountID.DefaultValue
.
Me.cboAccountID.DefaultValue = DLookup("option_value", _
"tblOptions", "option_key=''cboAccountID.DefaultValue''")
Tenga en cuenta que esta sugerencia asume que existe una fila en tblOptions con la clave "cboAccountID.DefaultValue" . Es posible que desee refinar esta sugerencia esbozada.
Y creo que podría funcionar para usted, ya que cada uno de sus usuarios tiene su propio archivo db que contiene tanto la forma como los datos ... no necesita preocuparse porque un usuario sobrescriba las preferencias guardadas de otro usuario.