![有没有办法自动将旧的 Access 数据库(.MDB 文件)转换为较新的 .ACCDB 格式?](https://linux22.com/image/1484268/%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E8%87%AA%E5%8A%A8%E5%B0%86%E6%97%A7%E7%9A%84%20Access%20%E6%95%B0%E6%8D%AE%E5%BA%93%EF%BC%88.MDB%20%E6%96%87%E4%BB%B6%EF%BC%89%E8%BD%AC%E6%8D%A2%E4%B8%BA%E8%BE%83%E6%96%B0%E7%9A%84%20.ACCDB%20%E6%A0%BC%E5%BC%8F%EF%BC%9F.png)
我有几百个旧的 Access 数据库,采用旧的 .MDB 文件格式。我不确定它们是在哪个版本的 Access 中创建的。我的最终目标是让拥有 Access 2013 的人也能使用它们。Access 2013 根本无法打开 .MDB 文件,但 Access 2007(我有)可以。在 Access 2007 中打开一个文件时,会弹出“数据库增强”工具,允许您将 .MDB 保存为 Access 2007 (.ACCDB) 文件,Access 2013 也可以打开该文件。我已经成功地对一些 .MDB 进行了此操作。
我的问题是,是否有可能使这个过程自动化?
我查看了一下,据我所知,将 .MDB 转换为 .ACCDB 的唯一方法就是我曾经做过的方式,即使用 Access 2007 手动打开每个文件。尽管从 2013 版中删除了读取 .MDB 的功能,但微软从未为那些数据可能滞留在旧 .MDB 中的人们推出过转换实用程序或任何东西。
答案1
是的,我也找不到转换器。如果每次打开时都会弹出,并且弹出的是简单的命令/按钮(如是/否)来转换,我想我有一个解决方案,尽管有点复杂。
使用这个打开所有带有 .bat 的 mdb从这里。
@echo off
for %%v in ("C:\Users\username\Desktop\Test\*.mdb") do start "" "%%~v"
并适当接受,弹出窗口这个 AutoIt 脚本
该脚本于 2013 年发布,但我昨天收到了 OP 的回复。我用记事本对 .ini 文件行进行了测试window2=Notepad|&Save|&Save
。因此,当我关闭已更改的记事本文件时,它会自动选择“保存”选项。我可以发布脚本和 .ini 文件,但大约有 150 行。
编辑:您可能需要在 .bat 中添加超时时间,这样您就不会同时打开它们,我认为这会起作用。
for %%v in ("C:\Users\username\Desktop\Test\*.mdb") do (start "" "%%~v" & timeout /t 30)
有本文他们说导入它们可能比转换更好,这样如果在转换过程中出现问题,你仍然有原始的 mdb。