valores valor seleccion predeterminados predeterminado por otro multiple hacer ejemplos defecto cuadro copiar como combinado celda campo ms-access combobox access-vba ms-access-2003

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.