【问题标题】:Access VBA: Resetting a Date on a FormAccess VBA:重置表单上的日期
【发布时间】:2019-04-30 15:25:20
【问题描述】:

我正在尝试创建一个带有 VBA 代码(单击时)的按钮来清空表单,以便启动新条目或重新启动条目。以下代码有效...

Public Sub clearForms()
Dim frm As Form
Set frm = Forms!Person_Name

Dim ctl As Control

For Each ctl In frm.Controls
    With ctl
        Select Case .ControlType
            Case acTextBox
                .Value = " "
            Case acCheckBox
                .Value = False
            Case acComboBox
                .SetFocus
                .SelText = " "
            Case acListBox
                .Value = Null
            Case acDate

        End Select
    End With
Next ctl

MsgBox "forms cleared"
End Sub

除了我拥有的 Date 字段之外的所有内容。我不知道如何将日期重置为 00:00:00:00 或只是一个空框。我更喜欢空盒子,但找不到任何有关如何操作的信息。谢谢!

更新代码:

Public Sub clearForms()
Dim frm As Form
Set frm = Forms!Person_Name

Dim ctl As Control

For Each ctl In frm.Controls
    With ctl
        Select Case .ControlType
            Case acTextBox
                .Value = " "
            Case acCheckBox
                .Value = False
            Case acComboBox
                .SetFocus
                .SelText = " "
            Case acListBox
                .Value = Null
            Case acDate
                .Value = #12:00:00 AM#
        End Select
    End With
Next ctl

MsgBox "forms cleared"
End Sub

【问题讨论】:

  • 为什么不应用 Null 值到日期?
  • @VanNg acDate 不起作用。无论.Value 我尝试给出什么,它都会给我一个未定义的变量错误
  • .Value = Null 给出什么类型的错误?
  • @VanNg 变量未在“acDate”上定义
  • 是的。因为没有这种类型 - 请参阅documentation.help/MS-Access-Visual-Basic/acproControlType.htm

标签: vba date ms-access controls


【解决方案1】:

即:

Case acDate
    .Value = #00:00:00#

但是,如上所述,没有“日期”控件,因此您可以简化为:

For Each ctl In frm.Controls
    With ctl
        Select Case .ControlType
            Case acTextBox, acComboBox, acListBox
                .Value = Null
            Case acCheckBox
                .Value = False
        End Select
    End With
Next ctl

【讨论】:

  • 我收到“变量未定义”错误。我不确定我要去哪里错了。我用新代码更新了我的帖子
  • 谁反对这个?这些值是相同的,但 #00:00:00# 对于“外国人”(我们在美国以外的地区)来说更容易理解。
  • @gustav 我在使用 acDate 时收到“变量未定义”错误。这就是我投反对票的原因。我希望得到更多关于我做错了什么的指导
  • 但是acDate 来自你自己的代码。因自己的错误而对他人投反对票并不常见。
猜你喜欢
  • 1970-01-01
  • 2014-03-05
  • 2015-12-11
  • 1970-01-01
  • 1970-01-01
  • 2020-01-06
  • 1970-01-01
  • 2022-11-10
  • 1970-01-01
相关资源
最近更新 更多