1

我已经在数据库上工作了一段时间,现在我陷入了停顿,我认为如果我不构建高级 Inner Join 来创建一个大表,我会遇到问题,因为我有数据在不同的表格中使用相同的类型,在我非常出色的情况下,我为我工作的每个站点的每个月创建了一个表格,而不是为每个月创建一个列,为站点创建另一个列(我意识到这对我来说是一个糟糕的举动访问新手)有没有一种方法可以创建一个新表,将数据库中的所有旧表和两列标识它来自哪个表,因为我可以看到我正朝着错误的方向前进?

然后,当我有这个表并想要对其进行报告时,有没有办法对其进行多个过滤器以将数据提取出来,就像从每个单独的表中一样。因为以我目前的速度,我构建了一个 vba 函数来内部连接每个站点每年每个月,然后对每个内部连接执行多个查询,然后对每个查询进行子报告,所以我有 500 个表,40 个内部连接,然后每个 2 个查询内部连接然后为每个查询创建一个报告并尝试将所有子报告合并到一个主报告中正在成为一场噩梦。当我尝试基于所有子报告创建图表时意识到这一点。看起来工作量很大,但是使用几天的 vba,您可以创建很多内部连接等。

4

1 回答 1

2

创建新的主表后,执行一系列附加查询以从每个站点/月表加载数据。

INSERT INTO tblMaster (site_id, mnth, etc)
SELECT 1 AS site_id, 1 AS mnth, etc
FROM tblSite1_Jan;


INSERT INTO tblMaster (site_id, mnth, etc)
SELECT 1 AS site_id, 2 AS mnth, etc
FROM tblSite1_Feb;

……等等。

对于 500 多个源表,这将需要一段时间。如果您有动力,您可以构建一个 VBA 过程来创建和执行这 500 条INSERT语句。确定是否可以比手动创建和执行这些语句更快地构建可用的 VBA 过程。

于 2013-10-29T17:27:34.243 回答