Foxtable(狐表)用户栏目专家坐堂 → vlookup匹配


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

主题:vlookup匹配

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


加好友 发短信
等级:婴狐 帖子:27 积分:245 威望:0 精华:0 注册:2018/7/30 10:53:00
  发帖心情 Post By:2019/3/4 11:55:00 [只看该作者]

If User.Name = "开发者" Then
    DataTables("店铺基础表").LoadFilter = ""
Else
    DataTables("店铺基础表").LoadFilter ="分公司1 = '"& User.Name & "'" AndAlso   DataTables("店铺基础表").LoadFilter ="分公司2 = '"& User.Name & "'" 
End If
DataTables("店铺基础表").Load()

上面代码不对,我想做到的是店铺基础表权限设置成,每次开表只显示'分公司1"和"分公司2"都等于用户名的行   
“分公司1” 和“分公司2”  对应的行数不一样
正确的代码是怎么样的

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


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

If User.Name = "开发者" Then
    DataTables("店铺基础表").LoadFilter = ""
Else
    DataTables("店铺基础表").LoadFilter ="分公司1 = '" & User.Name & "' or 分公司2 = '" & User.Name & "'" 
End If
DataTables("店铺基础表").Load()

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


加好友 发短信
等级:婴狐 帖子:27 积分:245 威望:0 精华:0 注册:2018/7/30 10:53:00
  发帖心情 Post By:2019/3/7 19:32:00 [只看该作者]

这个代码还是有问题  
“合同约定回款月份以合同约定条款填列”有内容  而“收到款项日期”无内容  “是否超期”应显示超期,可是现在却显示不超期

Select Case e.DataCol.name
    Case "合同约定回款月份以合同约定条款填列", "收到款项日期"
        If e.DataRow("合同约定回款月份以合同约定条款填列") = Nothing  Then
            
            
            e.DataRow("是否超期") = "不超期"
            
            
        ElseIf e.DataRow("收到款项日期") = Nothing AndAlso e.DataRow("合同约定回款月份以合同约定条款填列") < Date.Today OrElse  e.DataRow("合同约定回款月份以合同约定条款填列") < e.DataRow("收到款项日期") Then
            
            
            e.DataRow("是否超期") = "超期"
            
        End If
        
        
        If e.DataRow("合同约定回款月份以合同约定条款填列") > e.DataRow("收到款项日期") Then
            
            
            e.DataRow("是否超期") = "不超期"
            
            
        End If
End Select
[此贴子已经被作者于2019/3/7 19:32:54编辑过]

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


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

实例发上来测试。

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


加好友 发短信
等级:婴狐 帖子:27 积分:245 威望:0 精华:0 注册:2018/7/30 10:53:00
  发帖心情 Post By:2019/3/8 14:24:00 [只看该作者]

链接:https://pan.baidu.com/s/1OqXJS_RpPAP_uR51oH-tjg
提取码:v1vz

项目放到网盘了


 回到顶部
帅哥,在线噢!
有点蓝
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106023 积分:539208 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/3/8 14:41:00 [只看该作者]

Select Case e.DataCol.name
    Case "合同约定回款月份以合同约定条款填列", "收到款项日期"
        If e.DataRow("合同约定回款月份以合同约定条款填列") = Nothing Then
            e.DataRow("是否超期") = "不超期"
        ElseIf e.DataRow("收到款项日期") = Nothing OrElse e.DataRow("合同约定回款月份以合同约定条款填列") < Date.Today OrElse  e.DataRow("合同约定回款月份以合同约定条款填列") < e.DataRow("收到款项日期") Then
            e.DataRow("是否超期") = "超期"
        Else
            e.DataRow("是否超期") = "不超期"
        End If
End Select

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


加好友 发短信
等级:婴狐 帖子:27 积分:245 威望:0 精华:0 注册:2018/7/30 10:53:00
  发帖心情 Post By:2019/3/8 14:55:00 [只看该作者]

“合同约定回款月份以合同约定条款填列">"收到款项日期"   应显示不超期,可是现在却显示"超期"


 回到顶部
帅哥,在线噢!
有点蓝
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106023 积分:539208 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/3/8 15:07:00 [只看该作者]

e.DataRow("合同约定回款月份以合同约定条款填列") < Date.Today

这一句的作用是什么?

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


加好友 发短信
等级:婴狐 帖子:27 积分:245 威望:0 精华:0 注册:2018/7/30 10:53:00
  发帖心情 Post By:2019/3/8 15:17:00 [只看该作者]

收到款项日期"  空白,说明钱未收到,这时有两情况:

1.合同约定日回款日期还未到   就是不超期

2合同约定日回款日期到了  就是 这条代码  e.DataRow("合同约定回款月份以合同约定条款填列") < Date.Today  钱未收到,那就是超期了

 

另外:

收到款项日期"不是空白  说明钱收到了,那也是两种情况

1.合同约定日回款日期>收到款项日期  ,那就是规定时间内回款,不超期

2合同约定日回款日期<收到款项日期,超出规定时间内回款,超期

[此贴子已经被作者于2019/3/8 15:19:57编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106023 积分:539208 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/3/8 15:30:00 [只看该作者]

逻辑都出来了,按照逻辑写代码不就行了

If e.DataRow.isnull("收到款项日期") Then
    If e.DataRow.isnull("合同约定回款月份以合同约定条款填列") Then
        e.DataRow("是否超期") = "不超期"
    Else
        If e.DataRow("合同约定回款月份以合同约定条款填列") < Date.Today
            e.DataRow("是否超期") = "超期"
        Else
            e.DataRow("是否超期") = "不超期"
        End If
    End If
ElseIf e.DataRow.isnull("合同约定回款月份以合同约定条款填列") = false
    If e.DataRow("合同约定回款月份以合同约定条款填列") < e.DataRow("收到款项日期") Then
        e.DataRow("是否超期") = "超期"
    Else
        e.DataRow("是否超期") = "不超期"
    End If
else
        e.DataRow("是否超期") = "不超期"
End If

 回到顶部
总数 27 上一页 1 2 3 下一页