【发布时间】: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 错误。 当取消选中表属性上的复制时,可以再次编辑:) 这是访问错误
解决方案
不是真正的解决方案,但有一些方法可以克服:
- 真的复制不用了,数据库可以不复制。对于数据库移动性,可以手动进行自定义导入-导出新数据,并以一种方式更新某些表(客户、产品列表)。通常,我手头有数据快照就足够了。
- 保持原样。 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