Go To Next Record

R

Roger Bell

I have the following AfterUpdate Event procedure on a form that takes the
user to the next record, when an amount is entered and the Enter key pressed.
This field defaults to 0.00. Sometimes the amount does not need to be
changed. What I would like is if the amount remains as 0.00 and the Enter
key is pressed, the user is taken to the next record:

Private Sub W1_AfterUpdate()
On Error GoTo Err_Next_Envelope1_Click


DoCmd.GoToRecord , , acNext

Exit_Next_Envelope1_Click:
Me.W1.SetFocus
Exit Sub

Err_Next_Envelope1_Click:
MsgBox Err.Description
Resume Exit_Next_Envelope1_Click


DoCmd.RunCommand acCmdSaveRecord
End Sub

Any help would be appreciated
 
A

AccessVandal via AccessMonster.com

You can try

If Me.W1 = 0 Then
DoCmd.GoToRecord , , acNext
end if
 
R

Roger Bell

Thanks for that Accessvandal,

However, I do not want the user to skip the record if the value is 0.00, as
often they will need to enter a figure. If the figure stays as 0.00, and
they press Enter key to accept this, then they will be taken to the next
record.

Any other clues?

With Thanks
 
A

AccessVandal via AccessMonster.com

What about this

If Me.W1 <> 0 Then
DoCmd.GoToRecord , , acNext
end if


Roger said:
Thanks for that Accessvandal,

However, I do not want the user to skip the record if the value is 0.00, as
often they will need to enter a figure. If the figure stays as 0.00, and
they press Enter key to accept this, then they will be taken to the next
record.

Any other clues?

With Thanks
You can try
[quoted text clipped - 26 lines]
 
A

AccessVandal via AccessMonster.com

Sorry about that, but I'm not sure about what you meant.

It is also possible to use the form's beforeupdate event to validate the
control's value.

Private Sub Form_BeforeUpdate(Cancel As Integer)
If Me.W1 <> 0 then
'move to next record if the control's value is 0
DoCmd.GoToRecord , , acNext
else
'do something
end if
End Sub

If you meant you want to trap the "enter key" on the keyboard on that control

Private Sub W1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 then 'if enter key is press down
DoCmd.GoToRecord , , acNext
else
'do something
end if
End Sub
 
A

AccessVandal via AccessMonster.com

Edit:

If KeyCode = 13 and me.W1 = 0 Then 'if Enter key is press down and
control's value is 0
Sorry about that, but I'm not sure about what you meant.

It is also possible to use the form's beforeupdate event to validate the
control's value.

Private Sub Form_BeforeUpdate(Cancel As Integer)
If Me.W1 <> 0 then
'move to next record if the control's value is 0
DoCmd.GoToRecord , , acNext
else
'do something
end if
End Sub

If you meant you want to trap the "enter key" on the keyboard on that control

Private Sub W1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 then 'if enter key is press down
DoCmd.GoToRecord , , acNext
else
'do something
end if
End Sub
Thanks for that Accessvandal,
[quoted text clipped - 6 lines]
With Thanks
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Top