我在网上没有找到此问题的答案:也许是Access错误?
我有Windows 10和Access2016。我有102个字段和40条记录。每个记录有14个长文本字段。长文本条目均不超过200个字符。有问题的记录设置为“长文本”(在早期的Access版本中为“备注”)。
我编写并在Access 2010中使用了5年的软件导入了Excel Workbook。现在,我将同一软件与Access 2016一起使用,并已开始获取此处描述的错误。这是我使用Access 2016设置的第四个数据库,这是我第一次看到此问题。
当我尝试在记录的“长文本”字段中的一个或两个单元格中键入条目时,生成了一条错误消息,提示“记录太大”。其他记录上的相同字段按预期方式工作。仅该给定记录上的单元格正在生成错误。就像我说的那样,我从未在其他版本的Access中看到此错误。
我已执行1)“压缩和修复”,2)将表导出到新表,3)将表导出到Excel,并使用新的Access记录手动剪切和粘贴所有102条记录。项目编号3)在大多数时间都有效,工作1)和2)从未解决问题。
导致我寻求帮助的事件是这次,执行上面的步骤3)中的新记录,我有一个单元格再次生成“记录太大”错误。我注意到我要从中复制的Excel入口单元有几个分号:我删除了它们,试图将其剪切并粘贴到Access Cell上没有成功。我尝试在单元格中键入条目,而不是粘贴它并得到错误。
对于这个问题的实质,我确实感到茫然,我需要一些帮助。有没有人遇到过这个问题?
答案 0 :(得分:1)
我有 102个字段和40条记录。每个记录有14个长文本字段。长文本条目均不超过200个字符。
昨天,我将重构该架构。这正是精确的一对一关系。将列的子集移到另一个表中,将PK与PK相关联。 102列太多的顾虑塞到一个表中。分解-不管出现“记录太大”错误。
那就是说,如果所有长文本条目都不包含超过200个字符,那么为什么它们首先是长文本?我将它们做成可变长度的字符列(在SQL Server上为nvarchar
,不确定Access),可能有255个字符。
答案 1 :(得分:0)
感谢您的所有投入。我无法发布代码。但是,如果其他人也陷入了同样的困境,我可以按以下所述解决问题。
这些步骤解决了我的问题,使我摆脱了痛苦的困境。谢谢大家的帮助和想法。 v / r, 约翰尼
答案 2 :(得分:0)
重新创建表以解决缺陷以正确获取其内部数据。
问题出在从Excel导入时自动创建的较大表中。即使其字段的长度或计数没有不超过任何限制,您仍然可以开始收到错误消息“ Record too Large”。执行紧凑和修复操作不能解决此问题。
因此,如果您确定数据结构没有超出Access限制,然后使用相同的字段及其长度重新创建表,则错误消失了。
作为证明,当前我的数据库中有两个表,两个表的内部结构相同。导入创建的报告“记录太大”,而我手动创建的(通过在设计视图中复制粘贴字段)报告。
所以我们可以说从Excel导入时,Access 2016中有一个特定的Access错误,该错误到今天(2018-10-17)尚未得到纠正。按照上述方法解决。