我已在网络共享上复制了 .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 错误。 当取消选中表属性上的复制时,可以再次编辑:)这是访问错误
解决方案
不是真正的解决方案,而是一些克服的方法:
旧线程,但我也遇到了同样的问题。 我发现在 SQL 窗口中使用 Access DDL(例如 ALTER TABLE)可以修改 Access 2010 中复制数据库中的表设计。它不允许您修改现有字段/列,但您至少可以添加或删除字段从现有的表。 您可以使用 DDL 按照您想要的方式向表中添加新的临时字段,将数据从现有字段复制到临时字段,然后删除现有字段。 在您的情况下,您需要添加第二个字段,其名称与您删除的原始字段相同,从临时字段复制数据,然后删除临时字段,以便将您的字段“重命名”回原来的状态。
我在设计视图中重命名字段也失败了,我发现微软说我们也可以在数据表视图中重命名字段。然后,我惊讶地发现在设计视图中拒绝更改其名称的字段在数据表视图中很容易更改...如果您无法在设计视图中重命名字段名称,那么值得尝试在数据表视图中重命名它...