老实说,我曾尝试搜索互联网,但尚未找到实现此目标的方法。因此,希望Stackoverflow可以在这里提供帮助。对选项(参数化,VBA的使用等)开放。由于此原因,我不想创建可能每月增加的多个查询。
我每个月将获得多个表,我必须使用相同的查询从这些新表中获取数据,因此我不想每次都更改查询或每次都编写一个新查询。查询是这样的(我已经尝试将API端点或部门的名称解析化):
SELECT MyDeptAprilLogs.apiproxy, Sum(MyDeptAprilLogs.sum_message_count) AS SumOfsum_message_count
FROM MyDeptAprilLogs <--- This is variable & so, must be a parameter (won't know until I get it)
GROUP BY MyDeptAprilLogs.apiproxy, MyDeptAprilLogs.response_status_code
HAVING (((MyDeptAprilLogs.apiproxy)="MyDept-MyAPI-Endpoint1-v6" Or
(MyDeptAprilLogs.apiproxy)="MyDept-MyAPI-Endpoint2-v5" Or
(MyDeptAprilLogs.apiproxy)="MyDept-MyAPI-Endpoint3-v6") AND
((MyDeptAprilLogs.response_status_code)=200));
据我所知,没有直接的方法可以实现这一目标。使用VBA或表单,我们可以从用户那里获取输入并将其传递给查询,但是我认为表名不能更改。
我已经尝试通过VBA根据输入生成不同的表,但是从VBA执行查询永远不会结束,并且会消耗资源并挂起。