【问题标题】:Record is too large MS Access runtime error记录太大 MS Access 运行时错误
【发布时间】:2023-03-25 07:19:01
【问题描述】:

我在 MS Access 中的一个应用程序有一个异常大的表。它猛烈地破坏了一些规范化规则,但对于这个小型应用程序来说还不错。它有大约 100 个字段(列)。我已经阅读了limitation specifications here 但看不到我在哪里违反了这些。大多数字段都是文本字段,范围从几个单词到几个句子。我的问题是:

  1. 有没有办法获得比“记录太大”更具描述性的错误,以便我确定如何将其缩小?

  2. 将“文本”字段更改为“备忘录”字段会减小记录的大小吗?

乍一看,在所有可能违反的规范中,:当字段的 UnicodeCompression 属性设置为 Yes :: 4,000 时,记录中的字符数(不包括备忘录和 OLE 对象字段)强>
似乎是最有可能的罪魁祸首。

  1. 此违规是否会导致“记录太大”运行时错误(在填写表格时)。

  2. 将 UnicodeCompression 属性设置为“否”会对性能产生正面还是负面影响?

【问题讨论】:

    标签: ms-access ms-access-2010


    【解决方案1】:

    备忘录字段可能是答案。记录限制规则不包含备注数据类型。

    【讨论】:

    • 我刚刚复制了我的数据并将字段切换为“备忘录”而不是“文本”。尝试保存表格设计时出现“定义的字段过多”错误。我在 256 的限制之下。你知道一个表是否允许最大数量的备注字段吗?
    • 我之前评论的问题/解决方案:Microsoft Access 用于跟踪表中字段数的内部列计数已达到 255,即使表中的字段可能少于 255 个。发生这种情况是因为 Microsoft Access 在您删除字段时不会更改内部列数。 Microsoft Access 还为您修改其属性的每个字段创建一个新字段(将内部列数增加 1)。对我来说,解决方案是将表复制到一个新表,然后将其重命名以匹配原始表。
    • @Scott “删除字段时不会更改内部列数” - 您是否尝试过 db compact 和修复,因为这可能会解决该问题?
    • 您是否在 Access 2007/10 中使用常规 - 旧版进行排序?如果没有,请尝试(选项)。
    • 我在处理这个问题时已经阅读过它,大多数人都说要使用“General”。话虽如此,我采纳了您的建议并将其更改为“常规 - 旧版”,现在我可以运行“压缩和修复”,而不会出现“指定文件格式不支持选定的整理序列”错误。感谢您的提示!
    【解决方案2】:

    似乎字段的限制是 2000 字节(备忘录和 OLE 不计入此限制)。如果有大约 100 个字段,您很可能会达到这个限制。

    解决办法是对表格进行规范化,或者将某些字段转换为备注字段。

    【讨论】:

    • 我想我会复制表格并将我的很多字段转换为“备忘录”。这将省去我必须为表单重新编写查询和代码的麻烦(如果我对其进行规范化,我将不得不这样做。)因为这是一个小的一次性项目,而且极不可能增长,所以我'我只是咬紧牙关,让它不规范化。
    【解决方案3】:

    也许为时已晚,但我通过压缩/修复数据库文件解决了这个问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多