我正在修改一个已经多次升级的非常旧的访问应用程序。它可能从2003年开始。我在2013年运行。我修改了一个查询以过滤我刚刚添加到表中的列。我的表单和我的报告都没有使用修改后的查询。我知道这是因为我在表中添加了一列,然后修改了查询以过滤此列。查询运行正常。报告和表单肯定是使用旧查询。该应用程序还使用VB6代码,实际上根据所选报告添加更多SQL。如果我创建一个全新的报告,它将执行新的查询。我不想创建所有新报告。而且我知道VB6也已经过时了,但是这家公司已经停业了,这只是一种保持其组织化的方式。
答案 0 :(得分:0)
诀窍在于弄清楚报告在运行时从哪里获取数据。因为你说有改变SQL的VB6代码,这可能很复杂。
有很多方法可以改变,而且目前问题中的信息,我不可能缩小范围,但有些地方你可以查看。
报告的数据可以通过多种方式指定。
所以我要做的是:
如果这不起作用,那么你将需要查看VB代码。找到修改此报告的SQL的代码。最有可能的是,用户点击的按钮会运行一堆代码,更新SQL并启动报告。在那里粘贴一个断点并一步一步,直到你看到正在构建一些SQL,然后找出如何从那里改变SQL。
很可能你会有两个策略:
SELECT * FROM [TheQuery] WHERE
的操作,只添加条件。这可能会让你的生活更轻松,但它可能不会发生什么,因为修改查询并没有改变任何东西。