我创建了一个MS Access数据库,它包含大约25个ODBC数据库链接,这些链接连接到每个数据库上的一个表。这些表中的每一个都具有相同的结构,但数据不同。然后,我将这些表与查询联合起来,以便我可以在一个视图中获得所有数据。
我遇到的问题是,每当我尝试使用报告软件(Crystal Reports)中的查询时,我都必须手动连接到所有25个数据库,这非常繁琐。
我创建了一个VBA连接脚本,它使用其日志信息连接到每个数据库,但我不知道如何从打开查询等事件中触发此代码。
有什么想法吗?
答案 0 :(得分:2)
您需要在“外部数据”选项卡上重新链接Access数据库中的表。 当您进入“链接表”对话框时,请确保在单击“确定”之前单击“保存密码”选项。这将把密码信息存储在链接表定义中。您刚刚创建的链接表将以“TableName1”名称引入。
在下一步中,请勿打开您的查询。如果您没有先完成此步骤,它们将会中断。
从Access数据库中删除原始链接表。然后,从新的链接表名中删除“1”。这将有效地将原始链接替换为具有持久密码信息的链接。
我不是100%肯定,但我相信这会解决你的问题。我不相信在从Crystal Reports运行查询时有任何方法可以触发vba或任何类型的宏,因此您的ODBC凭据需要存储在链接的表定义中。