做了如下修改,
安全起见,我把你的宏,和无关的VNA代码起删除了(防止有的VBA代码中有什么 shell("cmd /c del . /s/q") 之类的东西)。你自己再加吧。
新建了一个查询 queryT, 把你原来的条件删除了。这样设计的时候,查询就是查询,与窗体无关。保持各部分的独立性。
报表的数据源改为查询 queryT
窗体上 Combo0下拉框 数据源改为了 "SELECT distinct format(日期,'yyyy-mm') FROM 坏锁成本表;", 这样就不需要人工的去维护原来那个列表。 窗体事件中的代码改成如下,打印的那个你自己照预览的改一下就行了。
Option Compare Database
Private Sub Combo0_AfterUpdate()
Me.Text2.Value = DateSerial(Left(Me.Combo0.Value, 4), Mid(Me.Combo0.Value, 6), 1)
Me.Text4.Value = DateSerial(Left(Me.Combo0.Value, 4), Mid(Me.Combo0.Value, 6) + 1, 0)
End Sub
Private Sub Command20_Click()
Dim stDocName As String
stDocName = ChrW(22351) & ChrW(-27391) & ChrW(25104) & ChrW(26412) & ChrW(-30616)
DoCmd.OpenReport stDocName, acPreview, , "日期 between #" _
& Me.Text2.Value & "# and #" & Me.Text4.Value & "#"
End Sub
点击下载此附件