Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 在导入数据时停止Access 2007使用科学表示法_Excel_Ms Access_Vba_Ms Access 2007 - Fatal编程技术网

Excel 在导入数据时停止Access 2007使用科学表示法

Excel 在导入数据时停止Access 2007使用科学表示法,excel,ms-access,vba,ms-access-2007,Excel,Ms Access,Vba,Ms Access 2007,因此,我使用VBA从Excel文件(从其他地方的CSV报告转换而来)导入一个巨大的零件号列表。导入前,调用excel工作簿准备数据,包括以下代码,用于格式化零件号,以确保零件号不会丢失任何信息(最近刚刚捕获到此信息): Columns(“B:B”)。TextToColumns目标:=范围(“B1”),数据类型:=xlDelimited_ TextQualifier:=xlDoubleQuote,continuedDelimiter:=False,Tab:=True_ 分号:=False,逗号:=

因此,我使用VBA从Excel文件(从其他地方的CSV报告转换而来)导入一个巨大的零件号列表。导入前,调用excel工作簿准备数据,包括以下代码,用于格式化零件号,以确保零件号不会丢失任何信息(最近刚刚捕获到此信息):

Columns(“B:B”)。TextToColumns目标:=范围(“B1”),数据类型:=xlDelimited_
TextQualifier:=xlDoubleQuote,continuedDelimiter:=False,Tab:=True_
分号:=False,逗号:=False,空格:=False,其他:=False,FieldInfo_
:=数组(1,2),trailingMinusNumber:=True

制作excel表格后,我使用以下方法将其导入表格:

DoCmd.TransferSpreadsheet导入,5,“PartNumberX”,“D:\Target\Import Data.xlsx”,-1,“PartNumberX!”&PartDim

在excel文件和Access表之间的某个位置,没有字母且长度超过10位的零件号正在转换为科学记数法,并丢失编号的最后几位。我可以确认excel文件中没有科学符号,所以我相当肯定它发生在导入过程中的某个地方

在此方面的任何帮助都将不胜感激

-编辑:

使用
DoCmd.TransferSpreadsheet
时,它正在创建表“PartNumberX”-它不存在

-更新:


所以我认为导入到一个新表可能会导致这个问题。将零件号字段作为文本字段导入预定义表后,在防止使用科学符号访问表单方面没有任何区别

看来我有个哑巴。。。我认为,由于我将Excel中的原始零件号列表格式化为正确的格式,因此从中复制的数据也将格式化为正确的格式。这显然是错误的。我曾经

Columns("B:B").TextToColumns Destination:=Range("B1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 2), TrailingMinusNumbers:=True
格式化零件号列表的其他迭代,现在可以正常工作了


总是一些小事情让你--'

能提供一个数据集吗?我自己也看到过这种情况,但我很难复制它。如果你能提供几行可以粘贴到Excel手册中的数据,那将非常有用。这些将是科学记数法:957010802508 9570108008 957010801608-这些将是好的:94050080 94050080 940508040 9405006080 91640SM4 0030 91626SYA 0030 91618S3N 0030嗯,这很奇怪,对我来说很好。也许数据的顺序很重要。我甚至尝试了几种方法,但似乎还可以。@VBlades-在测试时,您是在将电子表格转移到现有的表中,还是让它创建表?最初我忘了提到这一点,但它正在创建一个名为“PartNumberX”的表,而这个表并不存在。