【问题标题】:Changing default value of a control programatically以编程方式更改控件的默认值
【发布时间】:2015-07-16 16:51:49
【问题描述】:

我正在尝试使用 VBA 设置控件的默认值,以便当我离开表单并稍后返回时,默认值将是我之前设置的值。

我希望这会起作用:

Private Sub searchButton_Click()
    Me.searchType.DefaultValue = Me.searchType.Value
End Sub

是否可以设置控件的默认值?

【问题讨论】:

    标签: ms-access vba default-value


    【解决方案1】:

    只能在 DesignView 中对 DefaultValue 进行持久更改。看here 和艾伦布朗的回复here

    【讨论】:

    • 看起来很奇怪。很公平,我想必须制作一个包含默认值的表格。
    【解决方案2】:

    我猜(从您的问题中不清楚)您加载表单、执行操作、保存默认值、关闭(卸载)表单。在新加载时,您要设置保存的默认值。

    为此,您需要将默认值保存在表单外的变量中。卸载表单后,该表单内的所有变量都会从内存中释放。

    所以在你加载表单的代码模块中创建一个变量。

    作为一个例子,把它放在一个代码模块中:

    Option Explicit
    Public Default_value As Boolean
    
    Sub jzz()
    
    'load and show form
    Load testForm
    testForm.Show
    
    'load and show form again
    Load testForm
    'set default value:
    testForm.Default_checkbox.Value = Default_value
    testForm.Show
    
    End Sub
    

    还有一个名为 testForm 的用户表单,有 2 个元素,一个名为 Default_checkbox 的复选框和一个命令按钮。

    Option Explicit
    
    Private Sub OK_button_Click()
    'save default value in Module1:
    Module1.Default_value = Me.Default_checkbox.Value
    
    'unload form
    Unload Me
    End Sub
    

    【讨论】:

    • 好主意。但我想我可能只是将值存储在表中,而不是模块中的变量。
    • 数据库存储更好。模块变量在错误和关闭数据库时丢失,afaik。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-05
    • 2011-11-13
    • 1970-01-01
    • 2011-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多