以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  代码调试异常  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=160320)

--  作者:段虎成
--  发布时间:2021/1/28 20:45:00
--  代码调试异常

Select Case e.StripItem.Name


    Case "员工一键导入"
        \'首先加载员工档案管理
        With DataTables("员工档案管理")
            .LoadFilter = ""
            .Load()
        End With


        \'一键读取员工数据
        Dim f As New Filler
        f.SourceTable = DataTables("员工档案管理") 
        f.SourceCols = "工号" 
        f.DataTable = DataTables("人力资源考勤管理") 
        f.DataCols = "工号" 
        \'设置加载条件
        Dim dt As Date = Date.Today
        Dim y As Integer = dt.Year
        If dt.Month = 1 Then \'如果考勤统计日是1月份
            fl = "在职状态 = \'在职\' and (离职年 = y-1  and 离职月 = 12)  and  (离职年 = y  and 离职月 = 1) " \'加载在职人员 +上年12月离职人员 +本年1月离职人员
        \'Else
            Dim m As Integer = dt.Month
            fl = "在职状态 = \'在职\'  and (离职年 = y  and 离职月 = m) and  (离职年 = y and 离职月 = m-1)" \'加载在职人员+ 本年本月离职+ 本年上月离职
         End If

        f.Filter  = fl
        f.Fill() \'填充数据
End Select

 

老师您好,这段代码哪里错了,调试的时候总是提示 y列不存在。请指教谢谢!


--  作者:有点蓝
--  发布时间:2021/1/28 20:49:00
--  
先看几遍:http://www.foxtable.com/webhelp/topics/1284.htm

 fl = "在职状态 = \'在职\' and (离职年 = " & y-1 & "  and 离职月 = 12)  and  (离职年 = " & y & "  and 离职月 = 1) 
--  作者:段虎成
--  发布时间:2021/1/29 9:28:00
--  

好难理解老师,您帮我改一下,我再对比着消化学习,调了半天没调出来图片点击可在新窗口打开查看


--  作者:段虎成
--  发布时间:2021/1/29 10:09:00
--  
老师您好,先帮个忙改一下好么,谢谢,着急用图片点击可在新窗口打开查看
--  作者:有点蓝
--  发布时间:2021/1/29 10:14:00
--  
2楼不已经改了一个了吗?另外一个学着改?改不通,把您改的发上来
--  作者:段虎成
--  发布时间:2021/1/29 10:15:00
--  
对不起老师,没看到,谢谢!
--  作者:段虎成
--  发布时间:2021/1/29 10:26:00
--  

    Case "员工一键导入"
        \'首先加载员工档案管理
        With DataTables("员工档案管理")
            .LoadFilter = ""
            .Load()
        End With
        \'一键读取员工数据
        Dim f As New Filler
        f.SourceTable = DataTables("员工档案管理") \'指定数据来源
        f.SourceCols = "工号" \'指定数据来源列
        f.DataTable = DataTables("人力资源考勤管理") \'指定数据接收表
        f.DataCols = "工号" \'指定数据接收列
        \'设置加载条件
        Dim dt As Date = Date.Today
        Dim y As Integer = dt.Year
        Dim fl As String
        Dim m As Integer = dt.Month
        If dt.Month = 1 Then \'如果考勤统计日是1月份
            fl = "在职状态 = \'在职\' And (离职年 =" & y-1 & "  And  离职月 = 12)  And (离职年 =" & y & "  And 离职月 = 1)"
        Else
            fl = "在职状态 = \'在职\' And (离职年 =" & y & " And  离职月 =" & m & ") And  (离职年 =" & y & " And  离职月 =" & m-1 & ")"
        End If
        f.Filter  = fl
        f.Fill() \'填充数据

 

老师您好,改过了,执行命令的时候没有反应。


--  作者:有点蓝
--  发布时间:2021/1/29 10:27:00
--  
说明没有符合条件的数据

msgbox(fl)

--  作者:段虎成
--  发布时间:2021/1/29 10:38:00
--  
老师我看了一下有符合条件的数据啊
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:加载失败.rar


--  作者:有点蓝
--  发布时间:2021/1/29 10:45:00
--  
fl = "在职状态 = \'在职\' And ((离职年 =" & y-1 & "  And  离职月 = 12)  or (离职年 =" & y & "  And 离职月 = 1))"