2017-10-16 146 views
0

我有一個keydown表單事件以允許用戶向下瀏覽記錄。這很好。Keydown事件不會與控件共享其未使用的密鑰

我還希望他們能夠編輯該記錄中的字段。這是行不通的。

我原以爲將KeyPreview表單屬性將使形式與底層控制共享任何未使用的密鑰,但它似乎吸取了輸入的所有鍵,以便它們不提供給任何控制

是否有如何實現我所需要的?

下面是代碼

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) 

    If (Shift And acAltMask) = 0 And (Shift And acShiftMask) = 0 And (Shift And acCtrlMask) = 0 Then 
     Select Case KeyCode 
     Case vbKeyDown 
      If CurrentRecord <> RecordsetClone.RecordCount Then 
       DoCmd.GoToRecord , , acNext 
      Else 
       'Do nothing 
      End If 
     Case vbKeyUp 
      If CurrentRecord <> 1 Then 
       DoCmd.GoToRecord , , acPrevious 
      Else 
       'Do nothing 
      End If 
     End Select 
    End If 
    KeyCode = 0 
End Sub 
+0

如果您希望我們爲您提供幫助(包括您遇到的錯誤在內的任何嘗試),請分享您的代碼。 –

+0

這裏是我的代碼 - 如果我啓用它,非我的控件工作(即接受文本) 'Private Sub Form_KeyDown(KeyCode As Integer,Shift As Integer) 'If(Shift And acAltMask)= 0 And(Shift And acShiftMask )= 0,(轉變與acCtrlMask)= 0,則 '選擇案例邀請碼 ' 案例vbKeyDown '如果CurrentRecord <> RecordsetClone.RecordCount然後 ' DoCmd.GoToRecord,acNext '否則 ' '什麼都不做 ' 結束 'End If 'End Select 'End If 'KeyCode = 0 'End Sub – Charlie

+0

對不起 - 我不知道如何包括e代碼在我的評論 – Charlie

回答

1

刪除此行:

KeyCode = 0 

傳遞的關鍵筆劃。