Subsequent display issues aside, you could give the user an unbound form field for them to enter 101, 102, etc. Then on the Before Insert and Before Update events of the form, add this code:
Dim sString As String
sString = "2.1A-" & Me.unboundTextFieldName
Me.ReferenceNo = sString
This will save the string the user enters, plus your additional characters when they create a new record or update an existing record. Make sure the ReferenceNo field is set to Visible = No so the user doesn't try to enter data into it.
Did this help?
Look it up at: http://wrox.books24x7.com