Subform Navigation

  • Thread starter Thread starter Jeefgeorge
  • Start date Start date
J

Jeefgeorge

I have a subform with custom navigation controls including a current / total
record text boxes. When the main form loads, the total record on the subform
is 1. If I manually navigate to the last record on the subform, then go back
to the first record, the total record shows correctly. However if the main
form record changes, the total on the subform resets to 1. I have opened the
subform without the main form and the total text box shows the correct
number. I cannot figure out why this text box doesn't show the correct total
with the main form.

Code for the subform:
Private Sub Form_Current()
On Error GoTo Err_Current
Dim First As String
'Populate the Record of Records used for Navigation
With Me.RecordsetClone
If Not .EOF Then .MoveLast
Me.Current = Me.CurrentRecord
End With
If Me.Current.Value > Me.RecordsetClone.RecordCount Then
Me.Total = "of " & Me.RecordsetClone.RecordCount + 1
Else
Me.Total = "of " & Me.RecordsetClone.RecordCount
End If
 
How about using this instead:

Private Sub Form_Current()

On Error GoTo Err_Current

Dim First As String
Dim lngRecCount as long

'Populate the Record of Records used for Navigation
lngRecCount = me.recordsetclone.recordcount
me.Current = me.CurrentRecord
If me.newRecord then
Me.Total = "of " & lngRecCount + 1
Else
Me.Total = "of " & lngRecCount
End If


--
HTH
Dale

Don''t forget to rate the post if it was helpful!

email address is invalid
Please reply to newsgroup only.
 
Closer....but still doesn't completely fix my problem....when the record on
the main form changes the total record on the subform displays 1 once the
record is changed on the subform the total displays the correct value. (I
don't have to navigate to the last record, just any record)
 
Change the declaration of the subform current event from Private to Public

Private Sub Form_Current( )
becomes: Public Sub Form_Current

Then, in the main forms Current event, call the subforms current event.
It's been a while since I did this, but it should look something like:

Call me.SubControlName.Form.form_Current

--
HTH
Dale

Don''t forget to rate the post if it was helpful!

email address is invalid
Please reply to newsgroup only.
 
Back
Top