Foxtable(狐表)用户栏目专家坐堂 → 科目末级判断


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

主题:科目末级判断

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


加好友 发短信
等级:小狐 帖子:373 积分:2682 威望:0 精华:0 注册:2020/7/24 10:30:00
科目末级判断  发帖心情 Post By:2022/8/4 15:50:00 [显示全部帖子]

老师,这个判断末级的好像有点问题。没有实现真正的末级判断。

If e.DataCol.Name = "科目代码" Then 
    If e.DataRow.IsNull("科目代码") Then
        e.DataRow("是否末级科目") = Nothing 
    Else 
        If e.DataTable.Find("科目代码 like '" & e.DataRow("科目代码") & "%' and 科目代码 <> '" & e.DataRow("科目代码") & "'") Is Nothing Then   
            e.DataRow("是否末级科目") = "末级"    
        Else  
            e.DataRow("是否末级科目") = "非末级"
        End If
    End If
End If


还有一种情况就是,现在的科目是“末级”属性,当我新增一条下级科目的时候,那么原先的“末级”科目应该变化为“非末级”,这个用“重置”按钮就可以了吗?

图片点击可在新窗口打开查看

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


加好友 发短信
等级:小狐 帖子:373 积分:2682 威望:0 精华:0 注册:2020/7/24 10:30:00
回复:(有点蓝)我测试没有问题, 请上传实例说明  发帖心情 Post By:2022/8/4 21:30:00 [显示全部帖子]

有点像递归函数判断的问题,不是很懂。

效果如下:

1012 其他货币资金 非末级
101201 银行汇piao 末级
101202 银行本piao 末级
101203 信用卡 末级
101204 信用证保证金 末级
101205 外埠存款 末级

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:会计科目.table



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


加好友 发短信
等级:小狐 帖子:373 积分:2682 威望:0 精华:0 注册:2020/7/24 10:30:00
回复:(有点蓝)测试没有问题。添加datacolchanged事...  发帖心情 Post By:2022/8/4 22:56:00 [显示全部帖子]

可以了,需要重置,每次新增一个科目层级都需要重置一下才能准确,这个在切换表的时候自动刷新的话,是不是要写在项目事件里面?

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


加好友 发短信
等级:小狐 帖子:373 积分:2682 威望:0 精华:0 注册:2020/7/24 10:30:00
回复:(有点蓝)如果更改代码后对原有的上级自动刷新...  发帖心情 Post By:2022/8/5 15:22:00 [显示全部帖子]

太难了这个。


 If e.DataTable.Find("科目代码 like '" & e.DataRow("科目代码") & "%' and 科目代码 <> '" & e.DataRow("科目代码") & "'") Is Nothing Then 


 Dim s As String = Left(e.NewValue, e.NewValue.length - 2)


这两句代码怎么理解的?

 回到顶部