将 EAN-13 从 Excel 导入 Access 中



我需要将数据从EXCEL-Sheet导入到Access中。但是,Access Access 将 EAN-13 导入为双精度(科学记数法(而不是字符串,从而丢失最后一位数字。

我试图通过DoCmd.TransferSpreadsheet acImport进行此导入....如果我这样做,Access 将解释数据并分配数据类型。

1(当您有一列包含前几行的空白字段和后面的字符串数据时,这将导致问题。 我通过在标题(字段名称(后添加一行来解决此问题。在此所需数据类型的填充数据中。这解决了字符串数据的问题。

2(但是我无法为EAN-13数据(包含13位数字的EXCEL字段(解决此问题。EXCEL 将此序列存储为字符串。有时它会以科学记数法显示此字符串值:"7340041127001"将变为"7.340041127e012"。但是,在这些时刻,提交的条目仍将显示"7340041127001" - 因此全部值保持不变。使用前导"'"甚至可以避免科学记数法。所以我认为Excel中的数据还可以。

如果我尝试将 EAN-13 数据从 Excel 导入到 Access,则会出现这种情况:"7340041127001"变为"7.340041127e012"。从"7340041127001"导入有效,但编辑所有 Excel 字段真的很乏味!

我尝试将 EAN-13 导入到一个预先定义的空表中。但这不适用于 EAN:Excel 中的值将转换为字符串,但存储的值为"7.340041127e012"...

导入不需要全自动,将由训练有素的人员完成。

将格式应用于 Excel 中数字和零小数的列。

或者通过在单元格值前面加上引号来强制单元格文本:

7340041127001 -> '7340041127001

两者都适用于Office 365和链接Excel工作表。

然后使用查询将数据转换并追加到目标表。

1(链接到Excel电子表格并使用"DoCmd.TransferSpreadsheet"似乎在Access 2010/Excel 2010中的工作方式相同。访问表中字段的数据类型似乎不受 Excel 的"单元格格式"功能的影响,而是受 Excel 中数据的前几个值(=前几行(的影响。一 (1( 行是不够的,十四 (14( 行是...

2(如果前几行包含字符串数据和数字数据,Access将分配这些字段的数据类型"文本">

3(在Excel中为EAN-13字符串添加前缀将导致正确的导入,但对于我的数据不可行。我发现无法将 EAN-13 字符串直接导入访问表。然而

4(在Excel中添加一列并使用以下函数将产生一个值,该值将被正确导入:=Text(D2; 0)其中单元格 D2 包含 EAN-13 字符串。我对所有 2500 行都使用了这个公式。空的 EAN-13 字段将被分配一个值"0" - 这不是有效的 EAN-13 值。这将允许稍后删除 Access 中不需要的值!

最新更新