From: Zee on 20 Apr 2010 22:41 I've created a tabular form in Access 2007. I would like the cursor to move down the column I'm currently in when I either click on the enter key or down arrow; similiar to what you can do in datasheet form. Is there a way to do this?
From: Tom van Stiphout on 20 Apr 2010 23:37 On Tue, 20 Apr 2010 19:41:01 -0700, Zee <Zee(a)discussions.microsoft.com> wrote: That's pretty straightforward. I created a ContinuousForm based on the Customers table in the Northwind sample app, and added the following: Private Sub ID_KeyDown(KeyCode As Integer, Shift As Integer) HandleKeyDown Me.ID, KeyCode, Shift End Sub Private Sub Company_KeyDown(KeyCode As Integer, Shift As Integer) HandleKeyDown Me.Company, KeyCode, Shift End Sub Private Sub HandleKeyDown(ctl As Control, KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyUp And Shift = 0 Then RunCommand acCmdRecordsGoToPrevious ctl.SetFocus ElseIf KeyCode = vbKeyDown And Shift = 0 Then RunCommand acCmdRecordsGoToNext ctl.SetFocus End If End Sub So for the ID and Company controls I'm handling KeyDown event and calling my private HandleKeyDown procedure. In it, I am testing for the KeyUp and KeyDown keycodes signifying CursorUp and CursorDown, and I am checking that no shift, control, or alt key was down at the same time. Then I simply move to the previous or next record, and set focus to my control. I leave up to you to handle possible errors trying to move up from the first row or down from the last row. -Tom. Microsoft Access MVP >I've created a tabular form in Access 2007. I would like the cursor to move >down the column I'm currently in when I either click on the enter key or down >arrow; similiar to what you can do in datasheet form. > >Is there a way to do this?
From: Zee on 21 Apr 2010 11:37 Tom, Thank you so much for your help. "Tom van Stiphout" wrote: > On Tue, 20 Apr 2010 19:41:01 -0700, Zee > <Zee(a)discussions.microsoft.com> wrote: > > That's pretty straightforward. I created a ContinuousForm based on the > Customers table in the Northwind sample app, and added the following: > > Private Sub ID_KeyDown(KeyCode As Integer, Shift As Integer) > HandleKeyDown Me.ID, KeyCode, Shift > End Sub > > Private Sub Company_KeyDown(KeyCode As Integer, Shift As Integer) > HandleKeyDown Me.Company, KeyCode, Shift > End Sub > > Private Sub HandleKeyDown(ctl As Control, KeyCode As Integer, Shift As > Integer) > If KeyCode = vbKeyUp And Shift = 0 Then > RunCommand acCmdRecordsGoToPrevious > ctl.SetFocus > ElseIf KeyCode = vbKeyDown And Shift = 0 Then > RunCommand acCmdRecordsGoToNext > ctl.SetFocus > End If > End Sub > > So for the ID and Company controls I'm handling KeyDown event and > calling my private HandleKeyDown procedure. In it, I am testing for > the KeyUp and KeyDown keycodes signifying CursorUp and CursorDown, and > I am checking that no shift, control, or alt key was down at the same > time. Then I simply move to the previous or next record, and set focus > to my control. > I leave up to you to handle possible errors trying to move up from the > first row or down from the last row. > > -Tom. > Microsoft Access MVP > > > >I've created a tabular form in Access 2007. I would like the cursor to move > >down the column I'm currently in when I either click on the enter key or down > >arrow; similiar to what you can do in datasheet form. > > > >Is there a way to do this? > . >
|
Pages: 1 Prev: Automatic control names Next: Overriding constraint violation message |