Navigation bar error message

Steven811

Registered User.
Local time
Today, 19:39
Joined
Apr 18, 2004
Messages
133
Hi

Sorry, complete beginner here.

I've created a set of my own nav buttons and they work with one exception.

I am trying to stop the error messages when I am at the first record and click on previous or on my last record and click on next. I searched the forums and found a relevent article, copied the code as it suggested and pasted it as shown. However, the event doesn't proceed. The code it doesn't like is highlighted.

Private Sub Command27_Click()
DoCmd.GoToRecord , , acFirst
Else If (RecordsetClone.RecordCount) = 0
cmdPrevious.Enabled = False
cmdfirst.Enabled = False
cmdNext.Enabled = False
cmdlast.Enabled = False

End Sub

I have DoCmd.GoToRecord , , for first, next, previous and last buttons too.

Please help

Thanks in advance

Note - I did post this previously on Forms forum, incorrectly.
 
Create an unbound text box called RecordCount on your form and change the table name and ID to the correct names from your db (In red).
Code:
Private Sub cmdFirst_Click()
On Error GoTo Err_cmdFirst_Click

DoCmd.GoToRecord , , acFirst

Exit_cmdFirst_Click:
  Exit Sub
    
Err_cmdFirst_Click:
  MsgBox Err.Description
  Resume Exit_cmdFirst_Click

End Sub
[color=lime]'------------------------------[/color]
Private Sub cmdLast_Click()
On Error GoTo Err_cmdLast_Click

DoCmd.GoToRecord , , acLast

Exit_cmdLast_Click:
  Exit Sub
    
Err_cmdLast_Click:
  MsgBox Err.Description
  Resume Exit_cmdLast_Click

End Sub
[color=lime]'------------------------------[/color]
Private Sub cmdNew_Click()
On Error GoTo Err_cmdNew_Click

DoCmd.GoToRecord , , acNewRec

Exit_cmdNew_Click:
  Exit Sub
    
Err_cmdNew_Click:
  MsgBox Err.Description
  Resume Exit_cmdNew_Click

End Sub
[color=lime]'------------------------------[/color]
Private Sub cmdNext_Click()
On Error GoTo Err_cmdNext_Click

DoCmd.GoToRecord , , acNext

Exit_cmdNext_Click:
  Exit Sub
    
Err_cmdNext_Click:
  MsgBox Err.Description
  Resume Exit_cmdNext_Click

End Sub
[color=lime]'------------------------------[/color]
Private Sub cmdPrevious_Click()
On Error GoTo Err_cmdPrevious_Click

DoCmd.GoToRecord , , acPrevious

Exit_cmdPrevious_Click:
  Exit Sub
    
Err_cmdPrevious_Click:
  MsgBox Err.Description
  Resume Exit_cmdPrevious_Click

End Sub
[color=lime]'------------------------------[/color]
Private Sub Form_Current()
On Error GoTo Err_Form_Current
Dim recClone As Recordset
Dim intNewRecord As Integer

intNewRecord = IsNull(Me![[color=red]YourID[/color]])
If intNewRecord Then
  cmdFirst.Enabled = True
  cmdNext.Enabled = False
  cmdPrevious.Enabled = True
  cmdLast.Enabled = False
  cmdNew.Enabled = False
  Me![RecordCount] = "New Record"
  Exit Sub
Else
  cmdNew.Enabled = True
  cmdLast.Enabled = True
End If

Set recClone = Me.RecordsetClone()

If recClone.RecordCount = 0 Then
  cmdNext.Enabled = False
  cmdPrevious.Enabled = False
  cmdFirst.Enabled = False
  cmdLast.Enabled = False
Else
  recClone.Bookmark = Me.Bookmark
  recClone.MovePrevious
  cmdFirst.Enabled = Not (recClone.BOF)
  cmdPrevious.Enabled = Not (recClone.BOF)
  recClone.MoveNext
  recClone.MoveNext
  cmdLast.Enabled = Not (recClone.EOF)
  cmdNext.Enabled = Not (recClone.EOF)
  recClone.MovePrevious
End If


Me![RecordCount] = "Record " & (recClone.AbsolutePosition + 1) & " of " & _
 DCount("[color=red]YourID[/color]", "[color=red]YourTable[/color]")

recClone.Close

Exit_Form_Current:
  Exit Sub
    
Err_Form_Current:
  If Err = 3021 Then
    cmdPrevious.Enabled = True
    cmdFirst.Enabled = True
    cmdNext.Enabled = False
    cmdLast.Enabled = False
    Resume Exit_Form_Current
  Else
    MsgBox Err.Description
    Resume Exit_Form_Current
  End If
    
End Sub
HTH
 
Last edited:

Users who are viewing this thread

Back
Top Bottom