使用VBA导入Access中txt文件 - 日期格式问题 - 进口规格
问题描述:
我进口已经从Excel导出并在通用形式结束即42408等使用VBA导入Access中txt文件 - 日期格式问题 - 进口规格
当将它导入到访问txt文件,作为一种进口,我没有任何问题。 (我设置的数据类型为日期等,和它的作品 - “没有输入错误。)
然而,当我尝试多进口使用下面的代码,一切进口除了日期,我得到一个“类型转换错误”。
现在,我相信这个问题是与进口规范。 [见图片]
有谁知道进口规范,将使其工作的配置?
Database file here (also I have included the import txt file)
Sub import_multiple_files()
On Error GoTo bImportFiles_Click_Err
Dim objFS As Object, objFolder As Object
Dim objFiles As Object, objF1 As Object
Dim strFolderPath As String
strFolderPath = "s:\downloads\import_files\"
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFS.GetFolder(strFolderPath)
Set objFiles = objFolder.files
For Each objF1 In objFiles
If Right(objF1.Name, 3) = "txt" Then
DoCmd.TransferText acImportDelim, "TextImportSpecs", "tblImportedFiles", strFolderPath & objF1.Name, False
Name strFolderPath & objF1.Name As "s:\downloads\Archived Files\" & objF1.Name 'Move the files to the archive folder
End If
Next
Set objF1 = Nothing
Set objFiles = Nothing
Set objFolder = Nothing
Set objFS = Nothing
bImportFiles_Click_Exit:
Exit Sub
bImportFiles_Click_Err:
MsgBox Err.Number & " " & Err.Description
Resume bImportFiles_Click_Exit
End Sub
答
如果可以避免的话,千万不要使用字符串。
42408只是日期值的数值。您可以轻松地转换CDATE这个数据类型日期:
RealDate: CDate(NumericDate)
42408 -> 2016-02-08
为了避免以后的更新和/或领域,不导入该文件,但联系起来。然后创建一个查询来读取链接表并执行所需的任何转换。
现在使用该查询作为源为您导入或进一步处理。
YH这会工作,但问题是我不希望添加任何额外的字段。如果我能够将导入规范配置为可行,那将是最佳解决方案。 – yusufzub
然后链接文件。请参阅编辑。 – Gustav
或者,OP可以导入临时表并使用任何所需的转换/计算将附加查询迁移到最终表中。 – Parfait