Foxtable(狐表)用户栏目专家坐堂 → [求助]日期判断


  共有3251人关注过本帖树形打印复制链接

主题:[求助]日期判断

帅哥哟,离线,有人找我吗?
lgj716330
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1387 积分:10693 威望:0 精华:0 注册:2013/11/8 15:27:00
[求助]日期判断  发帖心情 Post By:2019/11/26 21:06:00 [只看该作者]

For Each nm() As String In DataTables("统计表2").GetValues("开店日期|关店日期")
    Dim dr As DataRow = DataTables("费用情况_Table1").AddNew()
    dr("开店日期") = nm(0)
    dr("关店日期") = nm(1)
    dr("销售金额") =DataTables("统计表2").Compute("Avg(销售金额)","开店日期 = '" & nm(0) & "' And 关店日期 = '" & nm(1) & "'")
next

出现以下提示
详细错误信息:
无法在 System.DateTime 和 System.String 上执行“=”操作。



 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/27 9:21:00 [只看该作者]

For Each nm() As String In DataTables("统计表2").GetValues("开店日期|关店日期")
    Dim dr As DataRow = DataTables("费用情况_Table1").AddNew()
msgbox(nm(0) & "|" & nm(1)) ‘这里显示什么内容’
    dr("开店日期") = nm(0)
    dr("关店日期") = nm(1)
    dr("销售金额") =DataTables("统计表2").Compute("Avg(销售金额)","开店日期 = #" & nm(0) & "# And 关店日期 = #" & nm(1) & "#")
next

 回到顶部
帅哥哟,离线,有人找我吗?
lgj716330
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1387 积分:10693 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2019/11/28 20:36:00 [只看该作者]

Dim d1 As Date = e.DataRow("开店日期")
Dim d2 As Date = e.DataRow("关店日期")
Dim d3 As Date = e.DataRow("查询截止日期")
Dim d4 As Date = e.DataRow("查询初始日期")
Dim y1 As Integer = d1.year
Dim y2 As Integer = d2.year
Dim y3 As Integer = d3.year
Dim y4 As Integer = d4.year
Dim m1 As Integer = d1.month
Dim m2 As Integer = d2.month
Dim m3 As Integer = d3.month
Dim m4 As Integer = d4.month

Select Case e.DataCol.Name 
Case "查询截止日期","开店日期","关店日期","查询初始日期"
If d1>=d4 And d1<=d3 And e.DataRow.IsNull("开店日期") = False And e.DataRow.IsNull("关店日期") Then
e.DataRow("当期经营月数") = (e.DataRow("查询截止日期")-e.DataRow("开店日期") + 1)/30
ElseIf (d1>=d4 And d1<=d3) And (d2>=d4 And d2<=d3) And e.DataRow.IsNull("开店日期") = False And e.DataRow.IsNull("关店日期")= False  Then
e.DataRow("当期经营月数") = (e.DataRow("关店日期")-e.DataRow("开店日期") + 1)/30
ElseIf (d2<d4 And e.DataRow.IsNull("关店日期")= False)  Or d1>d3  Then
e.DataRow("当期经营月数") = 0
Else
e.DataRow("当期经营月数") = m3-m2+1
End If
End Select


重置其中一列的时候出现以下错误信息
详细错误信息:
调用的目标发生了异常。
重载决策失败,因为没有 Public“+”可以用这些参数调用:
    'Public Shared Operator +(t1 As System.TimeSpan, t2 As System.TimeSpan) As System.TimeSpan':
        与参数“t2”匹配的参数无法从“Integer”转换为“TimeSpan”。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/29 9:05:00 [只看该作者]

e.DataRow("当期经营月数") = (e.DataRow("查询截止日期")-e.DataRow("开店日期") + 1)/30

改为:
e.DataRow("当期经营月数") = ((cdate(e.DataRow("查询截止日期"))-cdate(e.DataRow("开店日期"))).TotalDays+ 1)/30


Dim y,m,d As Integer
DateYMD(e.DataRow("开店日期"),e.DataRow("查询截止日期"),y,m,d)
e.DataRow("当期经营月数") = m + 1

 回到顶部