Foxtable(狐表)用户栏目专家坐堂 → [求助]自动填充


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

主题:[求助]自动填充

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


加好友 发短信
等级:小狐 帖子:348 积分:2805 威望:0 精华:0 注册:2016/8/24 10:39:00
[求助]自动填充  发帖心情 Post By:2017/9/13 14:33:00 [只看该作者]

我有两张表A,B。A表为工资表(字段为工号,基本工资,技能工资,其他补贴),B为工资修改表(字段为工号,基本工资,技能工资,其他补贴)。
其中A表有数据,B为空表,当我在B表输入工号的时候自动从A表中带出该工号的工资信息,问题是A表的其他补贴为空,但是在B表中自动带出的其他补贴为0,
这种效果非常的不好看,怎么写代码可以实现,如何A表中的其他补贴为空,在B表中带出的其他补贴为空,而不是用0来填充。

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


加好友 发短信
等级:小狐 帖子:348 积分:2805 威望:0 精华:0 注册:2016/8/24 10:39:00
  发帖心情 Post By:2017/9/13 14:40:00 [只看该作者]

我这样写,还是不行,如何在A表其他补贴没有值,在B表中带出来的自动填充0了

Select Case e.DataTable.name
    Case "B"
        Select Case e.DataCol.name
            Case "工号"
                Dim dr As DataRow = DataTables("A").find("工号 = '" & e.DataRow("工号") & "'")
                If dr IsNot Nothing Then
                    
                          if dr.isnull("其他补贴") then
                                    'e.DataRow("其他补贴") = nothing
                          else

                            e.DataRow("其他补贴") = dr("其他补贴")
                    
                   end if 
                    
                End If
        End Select
End Select

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/13 14:45:00 [只看该作者]

方法一:DataColChanging事件

 

If e.DataCol.Name = "其他补贴" Then

    If e.NewValue = 0 Then

        msgbox(123456)

        e.NewValue = Nothing

    End If

End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/13 14:47:00 [只看该作者]

方法二:

 

像你2楼那样写,判断是0是否为空,如果是,那就赋值为nothing


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


加好友 发短信
等级:小狐 帖子:348 积分:2805 威望:0 精华:0 注册:2016/8/24 10:39:00
  发帖心情 Post By:2017/9/13 15:10:00 [只看该作者]

感谢,我少判断了是否为0这个条件了。

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


加好友 发短信
等级:小狐 帖子:348 积分:2805 威望:0 精华:0 注册:2016/8/24 10:39:00
  发帖心情 Post By:2017/9/13 15:12:00 [只看该作者]

正确代码
Select Case e.DataTable.name
    Case "B"
        Select Case e.DataCol.name
            Case "工号"
                Dim dr As DataRow = DataTables("A").find("工号 = '" & e.DataRow("工号") & "'")
                If dr IsNot Nothing Then
                    
                          if dr.IsNull("其他补贴") OrElse dr("其他补贴") = 0 then
                                    e.DataRow("其他补贴") = Nothing
                          else

                            e.DataRow("其他补贴") = dr("其他补贴")
                    
                   end if 
                    
                End If
        End Select
End Select

 回到顶部