我被要求对 Access 2007 VBA 数据库进行一些维护。
它已将表链接到同一文件夹中的另一个 Access 数据库。它具有指向该数据库的硬编码链接,因此如果用户将文件夹复制到新文件夹,它会尝试使用原始文件夹中的链接数据库。他们要求我消除在这种情况下使用错误链接数据库的危险。
我添加了在打开数据库时运行的代码,以使其在自己的文件夹中重置指向数据库的链接。如果链接的数据库不存在或已重命名,则会提示用户浏览到正确的数据库。到目前为止,一切都很好。
但是如果用户取消该对话框,我不想让它连接到错误的数据库。即使表不存在,我也想将链接的 tabledef 的 Connect 属性设置为“正确”路径。然后用户将得到一个错误,即链接表不存在,直到他们复制到链接数据库中——而不是无意中使用了错误的数据库。
当我使用 Resume Next 来克服将 Connect 属性设置为不存在的数据库时引发的错误时,更改不会保留,而是连接到错误的数据库。所以现在,我在发生这种情况时关闭数据库(在提醒用户无法找到链接数据库之后)。就不使用错误的数据库而言,这是安全的,但我认为这不是理想的用户体验。
那么——是否可以将 Tabledef 的 Connect 属性设置为不存在的数据库?
谢谢,
格雷格