【发布时间】:2019-07-30 08:11:52
【问题描述】:
所以,我有一个表格,主要目的是显示两个日期之间已完成的案例。用户可以从 datepicker 中选择两个日期。格式是 EU,01/03/2019,问题是在 VBA 中格式是 US,所以它返回错误的值。
我尝试了很多 Format(date, dd.... 等等,但到目前为止没有成功。还尝试了很多来自网络和我的 VBA 书的解决方案。但是我缺少一些东西. 现在我被卡住了,不知道如何继续。=)
Private Sub btnCalculate_Click()
On Error GoTo myErr
Dim strsql As String
Dim rs As dao.Recordset
Dim x, i As Integer
Me.btnCalculate.Enabled = False
strsql = "SELECT Activity.DateDone, Activity.Job1 AS a0, Activity.Job2 AS a1, [Job1] Or [Job2] AS a2, Activity.Job3 AS a3, IIf([canceled],1,IIf([moved],2,0)) AS x " & _
"FROM Activity " & _
"WHERE Activity.DateDone Between #" & Replace(Me.txtDate1, ".", "/") & "# And #" & Replace(Me.txtDate2, ".", "/") & "#;"
Set rs = CurrentDb.OpenRecordset(strsql)
For i = 0 To 2
For x = 0 To 3
Me.Controls("txt" & i & x) = 0
Next x
Next i
rs.MoveFirst
Do While Not rs.EOF
For i = 0 To 3
If rs("a" & i) Then Me.Controls("txt" & rs("x") & i) = Me.Controls("txt" & rs("x") & i) + 1
Next i
i = i + 1
rs.MoveNext
Loop
myExit:
Me.btnCalculate.Enabled = True
Exit Sub
myErr:
MsgBox Err.Description
GoTo myExit
End Sub
这段代码给我的结果是所有年份的生产力,而不是日期之间,假设它改变了日期和月份,所以我希望有人看到那里的解决方案,thnx =)
【问题讨论】: