我有一个巨大的数据库 (800MB),其中包含一个名为“上次修改日期”的字段,目前该字段作为文本数据类型输入,但需要将其更改为日期/时间字段以执行一些查询.
我有另一个完全相同的数据库,但里面只有 35MB 的数据,当我更改数据类型时它工作正常,但是当我尝试更改大数据库上的数据类型时它给我一个错误:
Micorosoft Office Access can't change the data type.
There isn't enough disk space or memory
在做了一些研究之后,一些提到更改注册表文件 (MaxLocksPerFile) 的网站也尝试过,但没有成功:-(
有人可以帮忙吗?
最佳答案
作为John W. Vinson says here ,您遇到的问题是 Access 希望在进行更改时保留表的副本,这会导致它超过 Access 文件的最大允许大小。压缩和修复可能有助于将文件控制在大小限制之内,但它对我不起作用。
如果您像我一样,在旧表上有很多您不想重做的复杂关系和报告,请尝试使用 @user292452 解决方案的这种变体:
- 复制表格(即
'YourTable'
)然后将 Structure Only 粘贴回去 使用不同的名称(即'YourTable_new'
)进入您的数据库。 - 再次复制
YourTable
,然后将数据粘贴附加到YourTable_new
。 (要粘贴附加,首先粘贴,然后选择将数据附加到现有 表。) - 此时您可能想要复制您的 Access 数据库, 以防下一部分出现问题。
- 使用删除查询删除
YourTable
中的所有数据---全选 字段,使用星号,然后使用默认设置运行。 - 现在您可以根据需要更改
YourTable
中的字段并保存 再次。 - 将
YourTable_new
中的数据粘贴附加到YourTable
,并检查 没有类型转换、长度等方面的错误。 - 删除
YourTable_new
。
关于database - 无法更改 MS Access 2007 上的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2429052/