I couldn't solve your problem strictly with a query, but maybe this will help.
In a standard module, paste the following code:
Code:
Public Function ReplaceDash(pTheString) As String
Dim sTemp As String
Dim Pos As Integer
Dim sChrBefore As String
Dim sChrAfter As String
sTemp = Trim(pTheString)
Pos = InStr(1, [sTemp], "-")
If Pos > 0 Then
Do Until Pos = 0
'get char before and after the dash
sChrBefore = Mid([sTemp], Pos - 1, 1)
sChrAfter = Mid([sTemp], Pos + 1, 1)
'check to see if numbers
If IsNumeric(sChrBefore) And IsNumeric(sChrAfter) Then
'both numbers, replace dash with space
sTemp = Left(sTemp, Pos - 1) & " " & Mid(sTemp, Pos + 1)
End If
'do it again
Pos = InStr(Pos + 1, [sTemp], "-")
Loop
End If
ReplaceDash = sTemp
End Function
The query is
Code:
SELECT Table2.MyField, ReplaceDash([myfield]) AS [No Dash] FROM Table2;
Change the blue text to your table/field names