I don't know everything it is doing
We can tell you what the code is doing, but without the context of the whole app, difficult to say whether any bit matters. You might be better advised to find an Access developer, provide them with the app and explain what it is supposed to do, if only from a user perspective. If you insist on doing it yourself, I've notated some of your code which may help you get started
Code:
Private Sub XMTL_Number_GotFocus()
Dim XValue As String 'why string? apparently should be a number? relates to Next Transmittal number which now wants to be manually entered rather than calculated
Dim Xprefix As String
Dim XChar As String
Dim XAdmin As String
Dim XContact As String
Dim XPhone As String
Dim Criteria As String
Dim MyDB As Database
Dim MySet As Recordset
Dim NewNumber As Integer
If IsNull(Me![Program]) Then Me![Program] = Forms![DM Main Menu]![Program] 'where is this form? is the program value populated?
If IsNull(Me![XMTL Date]) Then Me![XMTL Date] = Format(Date, "DD-MMM-YYYY") ' what datatype is XMTL Date? if date? why make it a string? can this be manually entered or is the control locked?
If IsNull(Me![XMTL Number]) Then
Criteria = "Program = '" & Forms![DM Main Menu]![Program] & "'"
Set MyDB = CurrentDb()
Set MySet = MyDB.OpenRecordset("Program", DB_OPEN_DYNASET) 'why not simply apply criteria to the program and not use findfirst? i.e. "SELECT * FROM Program WHERE " & Criteria
MySet.FindFirst Criteria ' Find Program in table 'what happens if the criteria is not met, so no record found?
XValue = MySet![XMTL Number]
XAdmin = MySet![Administrator]
XContact = MySet![Contact]
If Not IsNull(MySet![Contact Phone]) Then
XPhone = MySet![Contact Phone]
End If
If Not IsNull(MySet![XMTL Prefix]) Then
Xprefix = MySet![XMTL Prefix]
Else
Xprefix = ""
End If
NewNumber = (XValue + 1) 'Xvalue is a string
MySet.Edit ' Enable editing
MySet![XMTL Number] = NewNumber ' Change XMTL Number
MySet.Update ' Save changes
MySet.Close ' Close RecordSet
XChar = "" & XValue
If (XValue > 0 And XValue < 10) Then XChar = "000" & XValue 'xvalue is a string, use format(XValue,"0000") then other lines not required
If (XValue > 9 And XValue < 100) Then XChar = "00" & XValue 'xvalue is a string
If (XValue > 99 And XValue < 1000) Then XChar = "0" & XValue 'xvalue is a string
[XMTL Number] = Xprefix & XChar
[Administrator] = XAdmin ' Store Admin Name
[Contact] = XContact ' Store Contact Info
If Not IsNull(XPhone) Then
[Contact Phone] = XPhone
End If
End If
Forms![DM Main Menu]![XMTL Number] = [XMTL Number]
DoCmd.GoToControl "XMTL Date"
End Sub