It might be easier to keep the two parts seperate, and then only bring them together when you need them. Like:
txtYear - default value: Left(DatePart("yyyy", Date()), 2)
intOrder - keep as increment
Then to display:
txtOrderNo: (Cstr([txtYear]) & "-" & CStr([intOrder]))
Anyway, keeps the processing down a little. Probably not much.