I'm not clear on whether you want to allow new records or not. If not, you
can set the form's Allow Additions property to No. If you want to disable
the Next button when you reach the last record, you could use something like
the following in the form's Current event. The first part places the record
count into the unbound text boxes txtCurrent and txtTotal. The next part
enables or disables custom navigation buttons named cmdNext, etc. This
allows you to diable the built-in navigation buttons.
'Inserts current record number and total number of records
Me.txtCurrent = Me.CurrentRecord
Me.RecordsetClone.MoveLast
Me.txtTotal = Me.RecordsetClone.RecordCount
'Enable navigation buttons only when there are records available
Me.cmdPrev.Enabled = Not Me.CurrentRecord = 1
Me.cmdFirst.Enabled = Not Me.CurrentRecord = 1
Me.cmdNext.Enabled = (Me.CurrentRecord = 1 And Me.Recordset.RecordCount
Or Me.CurrentRecord < Me.Recordset.RecordCount
Me.cmdLast.Enabled = Not (Me.cmdNext.Enabled = False)
In the first part you could use strings instead of text boxes (e.g.
strCurrent = Me.CurrentRecord), then concatenate the strings:
Me.txtCounter = strCurrent & " of " & strTotal
I put this code into a standard module so that I can use it in different
forms; also, I can copy the module to other databases. If you're interested
in this approach I can provide more details.