Foxtable(狐表)用户栏目专家坐堂 → 关于统计数据问题


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

主题:关于统计数据问题

帅哥哟,离线,有人找我吗?
裴保民
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2107 积分:13513 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2025/1/22 23:56:00 [只看该作者]

For Each dr As DataRow In DataTables("信用卡基本资料").DataRows
If Tables("信用卡基本资料").Current.isNull("统计开始日期") Then
Dim ksy  As Integer = val(regex.Match(dr("统计开始日期"), "(\d+)月(\d+)日").Groups(1).Value)
Dim ksr As Integer = val(regex.Match(dr("统计开始日期"), "(\d+)月(\d+)日").Groups(2).Value)
Dim ksrq As Date = New Date(Date.Today.Year - 1, ksy, ksr)
If Date.Today > New Date(Date.Today.Year, ksy, ksr) Then
     ksrq = New Date(Date.Today.Year, ksy, ksr)
End If
Dim jsrq As Date =  ksrq .AddYears(1).AddDays( - 1)
    dr("开始日期") = ksrq  
    dr("结束日期") = jsrq
End If
Next


如果 “统计开始日期”为空值的时候会出错

 回到顶部
帅哥,在线噢!
y2287958
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4820 积分:34958 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2025/1/23 6:04:00 [只看该作者]

For Each dr As DataRow In DataTables("信用卡基本资料").DataRows
    If dr.isNull("统计开始日期") Then
        dr("开始日期") = Nothing 
        dr("结束日期") = Nothing
    Else 
        Dim ksy As Integer = val(regex.Match(dr("统计开始日期"), "(\d+)月(\d+)日").Groups(1).Value)
        Dim ksr As Integer = val(regex.Match(dr("统计开始日期"), "(\d+)月(\d+)日").Groups(2).Value)
        Dim ksrq As Date = New Date(Date.Today.Year - 1, ksy, ksr)
        If Date.Today > New Date(Date.Today.Year, ksy, ksr) Then
            ksrq = New Date(Date.Today.Year, ksy, ksr)
        End If
        Dim jsrq As Date = ksrq.AddYears(1).AddDays( - 1)
        dr("开始日期") = ksrq 
        dr("结束日期") = jsrq
    End If
Next
[此贴子已经被作者于2025/1/23 8:16:58编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2107 积分:13513 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2025/1/23 8:35:00 [只看该作者]

谢谢
还有个问题就是
假如"统计开始日期"字段输入的不是“xx月xx日”的格式,比如xx月xx号”、xx-xx”、xx/xx”执行代码时也会报错,怎么将数字以外的月和日改为任意字符和汉字呢?

 回到顶部
帅哥,在线噢!
y2287958
  24楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4820 积分:34958 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2025/1/23 8:58:00 [只看该作者]

"(\d+)[^\d](\d+)[^\d]?"

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


加好友 发短信
等级:九尾狐 帖子:2107 积分:13513 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2025/1/23 9:10:00 [只看该作者]

 ksy =val(regex.Match(dr("统计开始日期"), "(\d+)[^\d](\d+)[^\d]?.Groups(1).Value)
对吗?怎么运行后错误

图片点击可在新窗口打开查看此主题相关图片如下:screenshot_20250123_090916.png
图片点击可在新窗口打开查看


好了谢谢

[此贴子已经被作者于2025/1/23 9:13:46编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2107 积分:13513 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2025/1/23 9:20:00 [只看该作者]

再麻烦以下
水流表中的数据怎么根据信用卡资料中各卡的开始日期和终止日期一次性筛选出来呀?

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


加好友 发短信
等级:超级版主 帖子:112124 积分:570810 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/1/23 9:56:00 [只看该作者]

没有办法直接筛选,可以通过sql做个查询表

Select * From {交易流水} As a where exists (select 卡号 from {信用卡基本资料} as b Where  a.支付卡号 = b.卡号 and a.支付日期 >= b.开始日期 And a.支付日期 <= b.结束日期)

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


加好友 发短信
等级:九尾狐 帖子:2107 积分:13513 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2025/1/23 11:44:00 [只看该作者]

 
哪错了?

图片点击可在新窗口打开查看此主题相关图片如下:screenshot_20250123_114325.png
图片点击可在新窗口打开查看

   Dim drs As List(Of DataRow)
    drs =Select * From {交易流水} As a where exists (select 卡号 from {信用卡基本资料} as b Where  a.支付卡号 = b.卡号 and a.支付日期 >= b.开始日期 And a.支付日期 <= b.结束日期)
For Each dr1 As DataRow In drs
        
    Next

[此贴子已经被作者于2025/1/23 11:52:29编辑过]

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


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


 回到顶部
帅哥,在线噢!
y2287958
  30楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4820 积分:34958 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2025/1/23 12:06:00 [只看该作者]

以下是引用裴保民在2025/1/23 9:20:00的发言:
再麻烦以下
水流表中的数据怎么根据信用卡资料中各卡的开始日期和终止日期一次性筛选出来呀?

想做个啥?


 回到顶部
总数 44 上一页 1 2 3 4 5 下一页