As John_G suggested, write a function to extract the numeric portions, then incorporate that function in the query. It really simplifies the query.
Put the query in a module so that it call be called from anywhere. I don't know what all the [serial number left] and [serial number right] selections were about, I just started at the left end and plowed thru to the end at the right.
Code:
'Serial number extract
Public Function snExt(S_N As String) As Long
Dim i As Long
For i = 1 To Len(S_N)
If IsNumeric(Mid(S_N, i, 1)) Then
snExt = snExt & Mid(S_N, i, 1)
End If
Next
snExt = CLng(snExt)
End Function
SELECT MASTER.[MFR MDL CODE], snExt(Master.[Serial Number]) as [Serial Number Whole], MASTER.[SERIAL NUMBER] , TCDS_Data.CODE
FROM MASTER LEFT JOIN TCDS_Data ON MASTER.[MFR MDL CODE] = TCDS_Data.CODE
WHERE (((MASTER.[MFR MDL CODE]) = '1151410'))
ORDER BY snExt(Master.[Serial Number]);