我导入了几个“|”将文件分隔到我的数据库中:
Private Sub cmdImport_Click()
Dim i As Integer
Dim path1 As String
path1 = "C:\ImportFiles"
Destination = "C:\ImportFiles\processed"
Set fs = Application.FileSearch
With fs
.LookIn = Path1
.FileName = "*.*"
If .Execute > 0 Then
For i = 1 To .FoundFiles.Count
DoCmd.TransferText acImportDelim, "ImportRPS", "tbImportRPSTemp", .FoundFiles(i), False
fileName = .FoundFiles(i)
fileName = Replace(fileName, path1, "")
Set fs1 = CreateObject("Scripting.FileSystemObject")
fs1.MoveFile Path1 & fileName, Destination & Format(Now, "YYYYDDMMTHHMMSS") & fileName
Next i
Else
MsgBox "No files to update", vbInformation
Exit Sub
End If
End With
Me.Requery
End Sub
问题是,文件采用 UTF-8 格式,而我正在使用的 Access 数据库不是,它在第一条记录前面使用“”导入,我的表格结尾如下所示:
Type Nmbr Date
100 12312 15082013
如何导入文件而不出现问题?是否可以将文件转换为 ANSI 并导入它,或者是否有更好的方法?我无法手动执行此操作,因为这些文件应该每天都会到达数十个。
最佳答案
根据http://msdn.microsoft.com/en-us/library/office/ff835958.aspx TransferText 的最后一个参数是代码页。在 Windows 中,UTF-8 的代码页为 65001。
因此,请尝试将 , , 65001
添加到 DoCmd.TransferText 行中。我认为它应该看起来像:
DoCmd.TransferText acImportDelim, "ImportRPS", "tbImportRPSTemp", .FoundFiles(i), False, , 650001
我现在无法测试此代码,但我相信它应该可以工作。
关于ms-access - MS Access 导入 UTF-8 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18259830/