database - 无法更改 MS Access 2007 上的数据类型

标签 database ms-access ms-access-2007

我有一个巨大的数据库 (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 解决方案的这种变体:

  1. 复制表格(即 'YourTable')然后将 Structure Only 粘贴回去 使用不同的名称(即 'YourTable_new')进入您的数据库。
  2. 再次复制 YourTable,然后将数据粘贴附加到 YourTable_new。 (要粘贴附加,首先粘贴,然后选择将数据附加到现有 表。)
  3. 此时您可能想要复制您的 Access 数据库, 以防下一部分出现问题。
  4. 使用删除查询删除 YourTable 中的所有数据---全选 字段,使用星号,然后使用默认设置运行。
  5. 现在您可以根据需要更改 YourTable 中的字段并保存 再次。
  6. YourTable_new 中的数据粘贴附加到 YourTable,并检查 没有类型转换、长度等方面的错误。
  7. 删除 YourTable_new

关于database - 无法更改 MS Access 2007 上的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2429052/

相关文章:

SQL Server 2012 : How can a column-store index provide multiple columns at once?

mysql - 将 MS Access 连接到 MySQL

vba - 更新变量时的语法糖字符串连接

java - MSAccess 上返回 ID 且数据类型为 AutoNumber(java)

mysql - 保持数据库连接是否更好?

mysql - 如何与其他团队成员共享MySQL数据库

excel - Access vba字典

database - 比较 Access SQL 查询中的日期

ms-access - MS Access 2007 - 查询表达式中接收语法错误

mysql - 将图形数据库加入 RDBMS?