I moved things around a bit. Also the error is likely because your table column / field is not the right data type for what is being stuffed into it.
Private Sub Import_Click()
Dim SQL, strCriteria, strMsg, strType As String
Dim rsTmpI As DAO.Recordset
Dim ts, arrLine, fso
'Empty the temp import table
DoCmd.SetWarnings False
SQL = "DELETE FROM tblTempImport"
DoCmd.RunSQL SQL
Set rsTmpI = CurrentDb.OpenRecordset("tblTempImport", dbOpenDynaset)
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.OpenTextFile("E:\Test.txt", 1) 'Open for Reading
While Not ts.AtEndOfStream
' Here is where we get rid of extra spaces and put in a single pipe
' Read in the next line, split it at the pipe delimiter
strReplacedText = ts.Readline
' Is it a line with good data? If so, grab it
If Left(strReplacedText, 5)="00000" Then
strReplacedText = Replace(strReplacedText, " ", "|")
Do While InStr(strReplacedText, "||")
strReplacedText = Replace(strReplacedText, "||", "|")
Loop
' Now strReplacedText has the data in the format we want
arrLine = Split(strReplacedText, "|")
rsTmpI.AddNew
For i = 0 To UBound(arrLine)
rsTmpI.Fields(i).Value = arrLine(i)
Next i
rsTmpI.Update
End If
Wend
ts.Close
' No need to check for your criteria, we only kept the good lines
rsTmpI.MoveFirst
Do Until rsTmpI.EOF
'Now do what you want with this record
rsTmpI.MoveNext
Loop
Done_Import:
rsTmpI.Close
Set rsTmpI = Nothing
DoCmd.SetWarnings True
End Sub