RBS*_*BSt 9 excel ms-access truncate truncation
当我附加Excel文件时,Access会截断几个备注字段中的数据.Access表中的字段已设置为"备注"类型.我认为问题是我在某些备注字段的前几行中没有任何条目.访问假设数据是文本字段,即使我已将其设置为备注类型.
我尝试过添加为CSV格式.不工作.
我已经在第一行中放置了超过255个字符限制的虚拟数据,如果我这样做,数据不会被截断.
每次我必须导入Excel文件时,我不想放置虚拟数据.这个过程至少每两周完成一次,也许更频繁.我想建立一种简单的方法来为将来使用同一数据库的员工导入数据.有任何想法吗?
更新:即使在前几行中有虚拟数据,Access也会在导入Excel文件时截断10个Memo数据库中的3个数据(虚拟数据的字符长度为785).现在我真的不知所措.
ptp*_*son 10
已经有一段时间了,但我遇到了和你一样的问题.
为避免导入期间出错,请确保每个源列在每行中包含相同类型的数据.Access扫描前八个源行以确定表中字段的数据类型.我们强烈建议您确保前八个源行不会混合任何列中不同数据类型的值.否则,Access可能无法为列分配正确的数据类型.
显然,这意味着在将 excel文件附加到现有表时,即使列格式化并保存为备注字段,如果excel文件中的所有8个第一行都少于256个字符,则Access假定您实际上要指定文本,因此截断255个字符后的剩余行.我已经进行了几次测试,在前8行中放置了"虚拟"行,每次都触发了超过255个字符的导入.
现在,如果导入到新表,则向导允许您选择所有格式选项.
如果您可以覆盖表中已有的所有数据,则可以方便地导入到新表.但是,如果你真的需要追加,我建议你导入一个临时表,然后从那里追加.一个简单的方法是保存导入然后从VBA执行它,就像Elliot_et_al想要的那样.然后,您也可以在VBA中运行追加查询.如果你正确设置你的表,你可能会逃脱
INSERT INTO [MyTable]
SELECT [MyTable_temp].*
FROM [MyTable_temp];
Run Code Online (Sandbox Code Playgroud)