Just create a public property in the main form to allow access to the private variable:
Public Property Get NewStartNumber() As Long
If mlngCurrentEnd > 0 Then
NewStartNumber = mlngCurrentEnd + 1
End If
End Property
Then in the called form use:
Private Sub Form_BeforeInsert(Cancel As Integer)
Me![ClientID] = Forms![Client].[ClientID]
Me![StartNumber] = Forms![Client].NewStartNumber
End Sub
Usually when you get to the point where you have to access routines from more that one place it's a good idea to put them in a module. You could just create a function in a standard module to get the latest EndNumber + 1:
Public glngEndNumber As Long
Public Function NewStartNumber() As Long
If glngEndNumber > 0 Then
NewStartNumber = glngEndNumber + 1
End If
End Function
This way, if you add a record to either form, you can just change the global variable in the form's EndNumber_AfterUpdate() event and the next 'NewStartNumber' will be valid for whichever form wants it.
VBSlammer