如何在报表中输入填充日期?

mfuanj7w  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(372)

我有一个多列表框,然后根据选择过滤查询(下面的代码)。

  1. Private Sub Command39_Click()
  2. Dim db As DAO.Database
  3. Dim qdf As DAO.QueryDef
  4. Dim varItem As Variant
  5. Dim strCriteria As String
  6. Dim strSQL As String
  7. Set db = CurrentDb()
  8. Set qdf = db.QueryDefs("Productivity_WeeklyFinal")
  9. For Each varItem In Me!Combo.ItemsSelected
  10. strCriteria = strCriteria & [Forms]![ProductivityForm]![Combo].ItemData(varItem) & ", "
  11. Next varItem
  12. strSQL = "SELECT Info_ME_Employees.ID, gs_1_week_finalUnion.SampleID,
  13. gs_1_week_finalUnion.Operator, Format$([TestDate],'m/dd/yyyy') AS Test_Date,
  14. gs_1_week_finalUnion.Test FROM Info_ME_Employees INNER JOIN gs_1_week_finalUnion ON
  15. Info_ME_Employees.Full_Name = gs_1_week_finalUnion.Operator" & _
  16. " WHERE Info_ME_Employees.ID IN (" & strCriteria & " )AND gs_1_week_finalUnion.TestDate
  17. Between (Date()-7-Weekday(Date(),2)+1) And (Date()-Weekday(Date(),2)) " & _
  18. " ORDER BY gs_1_week_finalUnion.Operator"
  19. qdf.SQL = strSQL
  20. Set db = Nothing
  21. Set qdf = Nothing
  22. End Sub

然后过滤我的查询。

然后我从这些记录中生成一个报告,然后按操作符对记录进行分组。

我的问题是如何在报表所基于的查询中,在这些记录之间输入填充日期。如果我在查询中使用字段运算符的空字段连接填充日期,它将对空值进行分组。有没有vba方法可以引导我走向正确的方向?谢谢您

8aqjt8rx

8aqjt8rx1#

考虑将原始命名查询连接到一个交叉连接查询,该查询包含所有不同的运算符和日期,每个运算符和日期基于您的生产率\u weeklyfinal查询:
交叉连接查询(返回所有可能的匹配对)

  1. SELECT o.Operator, d.Test_Date
  2. FROM
  3. (SELECT DISTINCT Operator
  4. FROM Productivity_WeeklyFinal) o
  5. ,
  6. (SELECT DISTINCT [Test_Date]
  7. FROM Productivity_WeeklyFinal) d

最终查询(用于报表)

  1. SELECT cj.[Operator], cj.[Test_Date], p.ID, p.SampleID, p.Test
  2. FROM CrossJoinQuery cj
  3. LEFT JOIN Productivity_WeeklyFinal p
  4. ON p.[Operator] = cj.[Operator]
  5. AND p.[Test_Date] = cj.[Test_Date]
  6. ORDER BY cj.[Operator], CDate(cj.[Test_Date]) DESC
展开查看全部

相关问题