Foxtable(狐表)用户栏目专家坐堂 → 流程控制


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

主题:流程控制

帅哥,在线噢!
yifan3429
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2460 积分:22709 威望:0 精华:0 注册:2011/3/29 17:14:00
流程控制  发帖心情 Post By:2019/9/26 21:26:00 [只看该作者]

Dim r As Row = Tables("凭证").Current
If e.DataCol.Name = "结账" Then '如果是已结帐列的内容变动
    'If r IsNot Nothing Then
    If r("审核") = True Then
        r("结账") = False
        r.Locked = True '那么锁定此行
        r("结账信息") = User.Name & "-"& Date.Now & "结账"
        r("结账日期") = Date.Now
        r("出纳") = User.Name
    Else
        e.Cancel = True
                MessageBox.Show("不能批准还未通过审核的行.")
    End If    
End If


如果审核没有通过 就会停止执行   不允许结账  并提示   如果审核通过就可以结账

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2019/9/27 8:04:00 [只看该作者]

先纠正一点,作为老用户,怎么可能还用:
Dim r As Row = Tables("凭证").Current

应该是:
Dim r As DataRow = e.DataRow

其他没看出什么

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


加好友 发短信
等级:小狐 帖子:325 积分:2752 威望:0 精华:0 注册:2015/2/3 19:48:00
  发帖心情 Post By:2019/9/27 11:36:00 [只看该作者]

以下是引用狐狸爸爸在2019/9/27 8:04:00的发言:
先纠正一点,作为老用户,怎么可能还用:
Dim r As Row = Tables("凭证").Current

应该是:
Dim r As DataRow = e.DataRow

其他没看出什么  
请问这俩种写法有什么区别?


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


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

e.DataRow指触发事件的行

Tables("凭证").Current指当前行

比如使用代码赋值了10行,e.DataRow会不同,而Tables("凭证").Current可能不会变都是同一行

 回到顶部
帅哥,在线噢!
yifan3429
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2460 积分:22709 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2019/9/27 14:20:00 [只看该作者]

Dim r As DataRow = e.DataRow
If e.DataCol.Name = "结账" Then '如果是已结帐列的内容变动
    'If r IsNot Nothing Then
    If r("审核") = True Then
        r("结账") = False
        r.Locked = True '那么锁定此行
        r("结账信息") = User.Name & "-"& Date.Now & "结账"
        r("结账日期") = Date.Now
        r("出纳") = User.Name
    Else
        e.Cancel = True
        MessageBox.Show("不能批准还未通过审核的行.")
    End If    
End If


代码找不到问题了了  老师看下  我需要的是   点击结账列  如果审核列是勾选的 那么填充结账相关信息,如果审核没有勾选那么停止操作 并提示要先审核后。

现在是会有提示但是结账还是会被勾选。

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


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

代码放到datacolchanging事件

 回到顶部