访问 VBA:重置表单上的日期
Access VBA: Resetting a Date on a Form
我正在尝试使用 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
即:
Case acDate
.Value = #00:00:00#
但是,如前所述,没有 "Date" 控件,因此您可以减少到:
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
我正在尝试使用 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
即:
Case acDate
.Value = #00:00:00#
但是,如前所述,没有 "Date" 控件,因此您可以减少到:
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