Foxtable(狐表)用户栏目专家坐堂 → [求助]跨表取数计算代码错误


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

主题:[求助]跨表取数计算代码错误

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/7 9:21:00 [显示全部帖子]

参考代码

 

Select Case e.DataCol.name
    Case "前夜班天数"
        If e.DataRow.IsNull("前夜班天数") Then        '是否为空(Is是IsNull否)
            e.DataRow("前夜班津贴标准") = Nothing         '为空,则清除
        Else
            Dim yb1 As String = e.DataRow("前夜班天数")  '声明变量
            'msgbox(yb1)
            Dim yjt1 As DataRow = DataTables("津贴补贴标准").Find("津贴项目 = '前夜班'")
            'msgbox(yjt1)
            If yjt1 IsNot Nothing Then
                e.DataRow("前夜班津贴标准") = e.DataRow("前夜班天数") * yjt1("计发标准")
            Else
                e.DataRow("前夜班津贴标准") = Nothing
            End If
        End If
End Select


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/7 12:01:00 [显示全部帖子]

我测试没问题,请上传具体实例测试。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/7 12:26:00 [显示全部帖子]

代码改成

 

Select Case e.DataCol.name
    Case "职称级别"
        If e.DataRow.IsNull("职称级别") Then        '是否为空(Is是IsNull否)
            e.DataRow("职称津贴") = Nothing         '为空,则清除
        Else
            Dim Zcjb As String = e.DataRow("职称级别")  '声明变量            '检验"msgbox(Zcjb)"

            Dim Zcjt_g As DataRow = DataTables("津贴补贴标准").Find("津贴项目 = '" & Zcjb  & "'")

            If Zcjt_g IsNot Nothing Then
                e.DataRow("职称津贴") = Zcjt_g("计发标准")
            Else
                e.DataRow("职称津贴") = Nothing
            End If
        End If
End Select

 

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/7 14:58:00 [显示全部帖子]

Select Case e.DataCol.name
    Case "性别"
        If e.DataRow.("性别") <> "女" Then        '性别不是女
            e.DataRow("女工卫生费") = Nothing         '则清除
        Else
            Dim Xb As String = e.DataRow("性别")  '声明变量
            Dim Wsf As DataRow = DataTables("津贴补贴标准").Find("津贴项目 = '卫生费'")            '检验"msgbox(Hyjt)"
            If Wsf IsNot Nothing Then
                e.DataRow("女工卫生费") = Wsf("计发标准")
            Else
                e.DataRow("女工卫生费") = Nothing
            End If
        End If
End Select

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/7 15:26:00 [显示全部帖子]

改成

 

 If e.DataRow("性别") <> "女" Then        '性别不是女


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/7 16:41:00 [显示全部帖子]

如果要判断值,这样写

 

If Cblx  = "领导/正职" Or Cblx = "领导/副职" Then              ‘如果选择的是领导

 

如果要限制某些列不能编辑,需要编写 prepareEdit、startEdit事件

 

http://www.foxtable.com/webhelp/scr/0605.htm

 

http://www.foxtable.com/webhelp/scr/0615.htm

 

 


 回到顶部