|
STemp = "Select * From 出差管理"
Rs.Open STemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Num = 0
Rs.MoveFirst
For i = 1 To Rs.RecordCount
'搜索待统计的职员记录,并进行计算“总出差时间”
If Rs("职员ID") = Me![职员ID] Then
If Me![开始日期] < Rs("结束日期") And Rs("结束日期") <= Me![结束日期] _
And Rs("开始日期") <= Me![开始日期] Then
Num = Num + Rs("结束日期") - Me![开始日期]
ElseIf Me![开始日期] < Rs("结束日期") And Rs("结束日期") _
<= Me![结束日期] And Rs("开始日期") > Me![开始日期] Then
Num = Num + Rs("结束日期") - Rs("开始日期")
ElseIf Me![开始日期] <= Rs("开始日期") And Rs("开始日期") < _
Me![结束日期] And Rs("结束日期") > Me![结束日期] Then
Num = Num + Me![结束日期] - Rs("开始日期")
ElseIf Rs("开始日期") <= Me![开始日期] And _
Rs("结束日期") >= Me![开始日期] Then
Num = Num + Me![结束日期] - Me![开始日期]
End If
Rs.MoveNext
Else
Rs.MoveNext
End If
Next i
'把计算的“总出差时间”结果赋予窗体中“总出差时间”文本框中
Me![总出差时间] = Num & "天"
'把“总出差时间”的计算结果赋予CCTime
CCTime = Num
这里拿出其中一段代码,其中定义了 Num为Variant类型,我测试的结果怎么为0天啊,好象Num = Num + Me![结束日期] - Me![开始日期]并没有起作用啊~`~怎么回师?系统报错“类型不匹配”是不是这个原因?怎么修改啊。。。。。。。。
|
|