自动导入到访问 – 强制字段types

我在Microsoft Access数据库中有一张表,每天从日常的性能报告中导入数据。 导入数据中的特定字段(指站点名称)是源数据中的大多数报告的文本字段,但在一个报告的文本字段(例如,站点00415)和数字字段(例如00415)之间是混合的。 当数据被存储在Excel中时,我强制将数字网站设为文本,因为其中一些网站的前导零。

Access表的数据types为Text (和格式@应该是相关的),但是在导入包含数字站点的报表时,由于有试图将整列导入为数字而不是导入错误,文本。

有没有办法强制字段导入为文本即使当文件的第一行(我相信是什么访问基于字段types)是数字?

或者,我应该改变字段types的东西,可以处理文本和数字,但重要的是离开数字,没有任何格式的格式。

值得一提的是,我一直通过保存的导入方法导入数据,然后通过使用以下脚本编写脚本,并在两种导入方法中遇到此问题:

 Option Compare Database Sub import_test() Dim strXls As String strXls = "C:\Users\me\Desktop\IMPORT.xlsx" DoCmd.TransferSpreadsheet acImport, , "ImportDB", _ strXls, True, "A1:Z100" End Sub 

默认情况下,Access将仅检查前24行数据,以确定字段的build议types。

如果您的数据是前24行的数字,那么Access可能已经猜到了您的字段的数据types不正确。 该数据types与“保存的导入”一起保存,“访问”使查看保存的字段types变得困难。

这听起来像你的表是设置Short Text@格式。 这是您的需求的理想select。

您需要确保您的Excel文件具有文本格式的值 – 特别是具有前导零的值。 然后,您需要再次运行“导入Excel文件向导”,但是这次务必明确设置每列的字段types,特别注意有问题的字段 – 您可能会发现Access假定字段应该是Double ,它应该是Short Text

在这里输入图像说明

完成之后,您将不得不使用DoCmd.RunSavedImportExport方法,因为TransferSpreadsheet方法不允许您为Excel文件指定任何字段types的详细信息。

 DoCmd.RunSavedImportExport "MyImport" 

这里是文本字段中的一些文本格式的值。

在这里输入图像说明

如果您遇到问题,则可能需要将Excel文件导出为文本文件格式,然后使用Access导入文件,但是我怀疑您需要这样做。