【问题标题】:Access 2010 + replicated mdb: can't edit table in design view: 3251 errorAccess 2010 + 复制的 mdb:无法在设计视图中编辑表:3251 错误
【发布时间】:2016-08-17 08:24:14
【问题描述】:

我在网络共享上复制了 .mdb 数据库,仅包含数据(代码、表单等位于另一个 mdb 上)。是不久前创建的,在以前的 Access 版本(包括 2007 年)上没有问题。

问题:当我在设计视图中打开表格并更改文本字段大小时,例如。从 10 到 12 并尝试保存表,我有 3251 错误“这种类型的对象不支持操作”。

是否有任何特定的 Access 2010 限制?如何解决?

我仍然可以从另一台具有 access 2007 的计算机上更改字段大小(之前必须恢复数据库的设计大师)。

我可以通过代码/sql改变字段大小:

Dim sql

sql = "ALTER TABLE tblSample ALTER COLUMN samplefield TEXT(12);"

DBEngine(0)(0).Execute sql

我可以在表格设计或数据表视图中添加字段,但当我稍后尝试编辑或删除时问题仍然存在。

我还没有成功:复制数据库并从本地位置打开;将网络位置添加到受信任的位置;通过添加命令键/excl独占打开数据库;压缩和修复

--- 添加

我做了简单的测试。创建了具有 2 个字段的新表:ID(自动编号)和我数据库上的文本。本地唯一的表。填充随机文本的 3 行数据。可以更改表格设计视图上的文本字段大小。 然后使表复制。在设计视图上打开,更改文本字段大小并且无法再保存,同样的 3251 错误。 当取消选中表属性上的复制时,可以再次编辑:) 这是访问错误

解决方案

不是真正的解决方案,但有一些方法可以克服:

  1. 真的复制不用了,数据库可以不复制。对于数据库移动性,可以手动进行自定义导入-导出新数据,并以一种方式更新某些表(客户、产品列表)。通常,我手头有数据快照就足够了。
  2. 保持原样。 Access 2010 非常适合客户端数据库设计(表单、报告等)。对于很少更改表设计的情况,请使用 sql/code 或 access 2007。

【问题讨论】:

  • 类似问题:stackoverflow.com/questions/19336631/… -- 没有最终裁决,但这似乎是 Access 2010 的问题(参见 Gord 的评论)。
  • 尝试使用make table query将表复制到另一个
  • @SergeyS。我已经测试过,通过查询或表设计创建表,结果相同 - 如果表是可复制的,Access 设计不允许保存更改。上面添加了更多解释。谢谢你和安德烈

标签: ms-access database-design ms-access-2010 runtime-error database-replication


【解决方案1】:

旧线程,但我也遇到了同样的问题。我发现在 SQL 窗口中使用 Access DDL(例如 ALTER TABLE)可以修改 Access 2010 中复制数据库中的表设计。它不允许您修改现有字段/列,但您至少可以添加或删除字段从现有表。您可以使用 DDL 以您想要的方式将新的临时字段添加到表中,将数据从现有字段复制到临时字段,然后删除现有字段。在您的情况下,您需要添加与您删除的原始字段名称相同的第二个字段,从临时字段中复制数据,然后删除临时字段以将您的字段“重命名”回原来的样子。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-16
    • 2016-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多