Foxtable(狐表)用户栏目专家坐堂 → 重置列生成数据


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

主题:重置列生成数据

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


加好友 发短信
等级:三尾狐 帖子:651 积分:6614 威望:0 精华:0 注册:2016/12/27 21:05:00
重置列生成数据  发帖心情 Post By:2022/3/24 12:22:00 [显示全部帖子]

补助发放\“补助发放”窗体,当输入“发放日期”后,点击“生成本期工资”后,几乎运行3个小时候才有数据,且部分列没有数据,只有通过重置列后才有,请问代码哪里有问题,请指教如何改正,谢谢!
链接:https://pan.baidu.com/s/1plmgrAmZDQkj4Zu888bjEQ 
提取码:wqsx 

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


加好友 发短信
等级:三尾狐 帖子:651 积分:6614 威望:0 精华:0 注册:2016/12/27 21:05:00
  发帖心情 Post By:2022/3/24 22:51:00 [显示全部帖子]

根据老师的建议我将上述条件改为:DataTables("被征地农民基本情况").Select("本级补助发放截止日期 <= #" & dt1.value & "#"),(因为只要在发放期内,29000户每月都要发放,我觉得只能这样),我也把datacolchanged里需要计算的逻辑提取出来放到该按钮中处理,但是还是计较慢,不知老师还有没有建议,谢谢!

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


加好友 发短信
等级:三尾狐 帖子:651 积分:6614 威望:0 精华:0 注册:2016/12/27 21:05:00
  发帖心情 Post By:2022/3/26 15:38:00 [显示全部帖子]

我考虑在“补助发放”窗体中选择“所属期”后(dt1),先筛选掉部分数据:Tables("被征地农民基本情况").Filter ="是否结清='未结清' and 征地时年龄段<>'四' and  本级补助截止日期>= #" & dt1.value & "# ";还缺一个筛选条件:从表“参加企业保险明细表”中找到“在保月份<>#" & dt1.value & "#”的农户(用身份证号码相关联),并把这些农户筛选掉(因为只要当月有保险的农户就不需要发放补助),缺的这个筛选条件不知怎么加上去,请老师指教一下,谢谢!

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


加好友 发短信
等级:三尾狐 帖子:651 积分:6614 威望:0 精华:0 注册:2016/12/27 21:05:00
  发帖心情 Post By:2022/3/27 9:46:00 [显示全部帖子]

Tables("被征地农民基本情况").Filter ="是否结清='未结清' and 征地时年龄段<>'四' and  本级补助截止日期>= #" & dt1.value & "# and 身份证号 in(select 身份证号 from {参加企业保险明细表} where 在保月份<>#" & dt1.value & "#)"
运行错误:身份证号码后缺操作符。请问怎么处理,谢谢!

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


加好友 发短信
等级:三尾狐 帖子:651 积分:6614 威望:0 精华:0 注册:2016/12/27 21:05:00
  发帖心情 Post By:2022/3/29 19:49:00 [显示全部帖子]


上述代码是不是我放错了位置,加载条件没起作用,年龄段为“四”的仍然没有过滤掉,请老师帮看下,谢谢!

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


加好友 发短信
等级:三尾狐 帖子:651 积分:6614 威望:0 精华:0 注册:2016/12/27 21:05:00
  发帖心情 Post By:2022/3/30 21:30:00 [显示全部帖子]

链接:https://pan.baidu.com/s/1MbjmNHMg7nBmFaFNSJbJrg 
提取码:ncrv 
统计了生成的时间有6.2个小时,仔细发现”生成本期工资”的表中仍然有:年龄段=“四”和 “所属期”大于“本级截止发放日”的记录生成。我想如果筛选条件起作用的话,生成的时间可能会短些,请老师帮看下,筛选的相关代码位置要不要做修改?,请指教,谢谢!

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


加好友 发短信
等级:三尾狐 帖子:651 积分:6614 威望:0 精华:0 注册:2016/12/27 21:05:00
  发帖心情 Post By:2022/3/31 14:17:00 [显示全部帖子]

补助发放\“补助发放”窗体,“生成本期工资”单击事件

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


加好友 发短信
等级:三尾狐 帖子:651 积分:6614 威望:0 精华:0 注册:2016/12/27 21:05:00
  发帖心情 Post By:2022/4/1 9:33:00 [显示全部帖子]

按照老师的要求,我把选择的条件放到了select里了,选择的条件还是没起作用,运行时间还差不多。其实我只是想把满足条件的记录跳过去不执行,以便缩短执行时间,可一直没能如愿,代码不知如何修改?请指教,谢谢!

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


加好友 发短信
等级:三尾狐 帖子:651 积分:6614 威望:0 精华:0 注册:2016/12/27 21:05:00
  发帖心情 Post By:2022/4/1 20:01:00 [显示全部帖子]

Tables("补助发放表").StopRedraw()
Dim dt1 As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker1")
Dim s As String = DataTables("参加企业保险明细表").GetComboListString("身份证号码","在保月份<>#" & dt1.value & "#")
DataTables("被征地农民基本情况").Select("是否结清='未结清' and 征地时年龄段<>'四' and  本级补助截止日期>= #" & dt1.value & "# and 身份证号码 in ('" & s.replace("|","','") & "')")
If DataTables("补助发放表").compute("count(所属期)","所属期=#" & dt1.value & "#") = 0 Then
    For Each dr As DataRow In DataTables("被征地农民基本情况").Select("土地交付日期 <= #" & dt1.value & "#")
        Dim r As Row = Tables("补助发放表").AddNew()
        r("姓名") = dr("姓名")
        r("村") = dr("村")
        r("身份证号码")=dr("身份证号码")
        r("账号")=dr("账号")
        r("开户行")=dr("开户行")
        r("所属期")=dt1.Value
        r("征地时年龄段")=dr("征地时年龄段")
        r("市级补助截止日期一")=dr("市补助截止日期一")
        r("市级补助截止日期二")=dr("市补助截止日期二")
        r("土地交付日期")=dr("土地交付日期")
        r("本级补助截止日期")=dr("本级补助截止日期")
        r("出生日期")=dr("出生日期")
        r("首次发放日期")=dr("首次发放日期")
    Next
ElseIf DataTables("补助发放表").compute("count(所属期)","所属期=#" & dt1.value & "#") > 0 Then
    msgbox("该期的补助表已经生成,请重新选择所属期")
End If
Tables("补助发放表").ResumeRedraw()

 回到顶部