Okay, lets start with how Access stores dates, and work towards the
interface you want.
Internally, Access uses a real number to store a date/time value. The
integer part is the date; the fractional part is the time as a fraction of a
day (0.5 = noon; 0.25 = 6am.)
You can display the date/time value in the way you want by setting the
Format property of the text box on your form or report to:
ddHHnn\Zmmmyy
But you will not be able to enter the date/time value like that. You will
therefore need to use an unbound text box to accept the entry, and then use
the AfterUpdate event of that text box to parse the value and write the date
to the date/time field, using Mid(), Len(), DateSerial() and TimeSerial() to
generate the date time value.
On your form, set the Tab Stop property of the real date/time field (named
DT in the example) to No so it does not receive focus when tabbing through
the form. In case the user clicks on it, set its On Got Focus property to
[Event Procedure], and assign its value to that of the unbound entry box:
Me.txtEntry.SetFocus
Set the tab order of the unbound box so it does take focus when DT would
have. In its Got Focus event, copy the value from DT:
If IsNull(Me.DT) Then
Me.txtEntry = Null
Else
Me.txtEntry = Format(Me.DT, "ddHHnn\Zmmmyy")
End If
Then in the AfterUpdate event procedure of the unbound entry box, parse the
string to create a real date/time value (delimited with #), and assign it to
DT.