我对VB6中的MS Access SQL相对较新,并且正在寻找一个答案,我在这里看到一个几乎符合我需要的问题(在MSSQL中按类别总计每日总数)。但我仍然无法找到如何在我的代码中实现它,我很确定我错过了一些命令或命令。
这就是我得到的:
var id = $routeParams.id
这就是我需要的:
Qry = "SELECT pv_S.Id, Agenda.Company, pv_S.Fecha, Products.Descripción, " _
& "pv_S.Cant, pv_S.PV, pv_S.Pagado, pv_S.User " _
& "FROM Products " _
& "INNER JOIN (Agenda INNER JOIN pv_S " _
& "ON Agenda.CustomerID = pv_S.CustomerID) " _
& "ON Products.ProdId = pv_S.ProdId " _
& "WHERE pv_S.Fecha BETWEEN #" & Format(FromDate, "MM/DD/YYYY") & "# " _
& "AND #" & Format(ToDate, "MM/DD/YYYY") & "# " _
& "AND pv_S.User = '" & cboCombos(2).Text & "' " _
& "ORDER BY Fecha"
我正在做的很可怕,在数据库中循环是疯狂的。我知道应该而且必须是一种简单的方法。
答案 0 :(得分:0)
您说'按类别总计每日总数'。什么类别?您的输出示例显示了来自pv_S的3个字段,但没有来自议程和产品。
如果要查看所有3个表中的详细信息以及摘要计算,请构建Access报告。 RecordSource将是原始数据记录的查询。使用报告分组和排序设计功能。在您的'类别'的任何字段上添加组部分。将文本框放在组页脚中,并使用表达式=Sum([Cant])
报告页脚。
将日期和用户过滤条件应用于报告。我从不使用动态参数化查询。我更喜欢使用VBA构建过滤条件,并在打开时应用于报告。查看Allen Browne Filter
如果您无法使用Access报告,您对报告使用了什么?为什么在Access后面使用VB6而不是VBA?
实现您显示的输出安排的仅查询方法可能涉及构建两个聚合查询,然后是原始数据记录集的UNION。