【发布时间】:2017-08-04 05:19:26
【问题描述】:
我在 MS Access 2007 中的表单上有 KeyDonw 事件处理程序,我使用它代替掩码,因为它们的工作方式不像我需要的那样。
这是我的代码:
Private Sub date_rogd_s_d_KeyDown(KeyCode As Integer, Shift As Integer)
If ([Forms]![aForm].Form.date_rogd_s_d.SelLength = 2) Then
[Forms]![aForm].Form.date_rogd_s_d.Text = ""
End If
If (val([Forms]![aForm].Form.date_rogd_s_d.Text) > 31) Then
Select Case KeyCode
Case vbKeyDelete, vbKeyBack, vbKeyReturn
X = Y
Exit Sub
Case Else
KeyCode = 0
Exit Sub
End Select
End If
If (Len([Forms]![aForm].Form.date_rogd_s_d.Text) < 2) Then
Select Case KeyCode
Case 48, 49, 50, 51, 52, 53, 54, 55, 56, 57
Case 96, 97, 98, 99, 100, 101, 102, 103, 104, 105
Case vbKeyDelete, vbKeyBack, vbKeyReturn
X = Y
Case Else
KeyCode = 0
End Select
Else
Select Case KeyCode
Case vbKeyDelete, vbKeyBack, vbKeyReturn
X = Y
Exit Sub
End Select
[Forms]![aForm].Form.date_rogd_s_m.SetFocus
End If
End Sub
此代码运行良好,但我需要在更多 5 个相同的字段之间切换。
任何获取事件发送者的方法,我的意思是按键内的文本框对象,我想为所有文本框创建通用函数,我不会复制粘贴此代码。
【问题讨论】:
标签: vba forms ms-access ms-access-2007