Вы можете использовать событие нажатия клавиши элемента управления.И выдуть (убить нажатие клавиши из-за контроля доступа, НЕ видя ключа, затем установите код ключа = 0.
Таким образом, эта процедура позволит пользователю нажать Y или y = добавить или вычесть год D или d= сложение или вычитание дня M или m - добавление или вычитание месяца.
Обратите внимание, что необходимо использовать клавишу Shift - блокировка заглавных букв игнорируется.
Private Sub IvDate_KeyDown(KeyCode As Integer, Shift As Integer)
Dim strMyKeys As String
strMyKeys = "mdy" ' key check ignores caps
If InStr(strMyKeys, Chr(KeyCode)) > 0 Then
If IsNull(Me.IvDate) Then Me.IvDate = Date
Select Case KeyCode
Case Asc("M") And (Shift = 1)
' Move ahead one month
Me.IvDate = DateAdd("m", 1, Me.IvDate)
Case Asc("M")
' move bck one month
Me.IvDate = DateAdd("m", -1, Me.IvDate)
Case Asc("D") And (Shift = 1)
Me.IvDate = DateAdd("d", 1, Me.IvDate)
Case Asc("D")
Me.IvDate = DateAdd("d", -1, Me.IvDate)
Case Asc("Y") And (Shift = 1)
Me.IvDate = DateAdd("yyyy", 1, Me.IvDate)
Case Asc("Y")
Me.IvDate = DateAdd("yyyy", -1, Me.IvDate)
End Select
KeyCode = 0 ' sends current key to black hole
End If
End Sub