以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  禁止删除指定条件的行  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=113664)

--  作者:kaituozhe
--  发布时间:2018/1/20 13:01:00
--  禁止删除指定条件的行
例子中门诊收入预算表中想禁止删除包含合计或总计的行,怎么实现不了呢?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目18.foxdb


--  作者:有点蓝
--  发布时间:2018/1/20 14:15:00
--  
If e.DataRow("收入明细") Like "*合计*" OrElse e.DataRow("收入明细") Like "*总计*" Then
--  作者:kaituozhe
--  发布时间:2018/1/20 18:39:00
--  

控制指标预算表中计算比例,希望按百分比显示,为什么会提示如下信息:

.NET Framework 版本:2.0.50727.8689
Foxtable 版本:2017.12.31.1
错误所在事件:表,控制指标预算, DataColChanged
详细错误信息:
调用的目标发生了异常。
类型不匹配。


--  作者:kaituozhe
--  发布时间:2018/1/20 18:39:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目18.foxdb


--  作者:有点甜
--  发布时间:2018/1/21 22:57:00
--  

1、你可以把列改成【字符列】

 

2、如果用【数值列】,那你应该设置列格式为百分数即可 http://www.foxtable.com/webhelp/scr/1659.htm

 


--  作者:kaituozhe
--  发布时间:2018/1/21 23:20:00
--  
列子中的指标格式不统一,有的需要是数字,有的需要是百分数。所以不能用第二种方法。
--  作者:有点甜
--  发布时间:2018/1/21 23:23:00
--  

那就没办法,那就需要设置成【字符列】


--  作者:kaituozhe
--  发布时间:2018/1/21 23:32:00
--  
按第一种方法修改后还是提示错误,如果把上年同期或本期金额删除后都会提示错误,该怎么解决?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目18.foxdb


--  作者:kaituozhe
--  发布时间:2018/1/21 23:33:00
--  
  • CDbl使用这个函数转换也不行

--  作者:有点甜
--  发布时间:2018/1/21 23:57:00
--  
Dim filter As String =  " 年度 = \'" & e.DataRow("年度") & "\' And 期间 = \'" & e.DataRow("期间") & "\'And 公司名称 = \'" & e.DataRow("公司名称") & "\'And 部门编号 = \'" & e.DataRow("部门编号") & "\'"
Select Case e.DataCol.name
    Case "上年同期","本期金额"
        If val(e.DataRow("上年同期")) <> 0 Then
            e.DataRow("增减率") = Format((val(e.DataRow("本期金额")) - val(e.DataRow("上年同期"))) / val(e.DataRow("上年同期")),"0.00%")
        End If
    Case "年度","期间"
        Dim drzb01 As DataRow = e.DataTable.find(filter & " and 指标名称 = \'总医疗费用(万元)\'")
        If  drzb01 IsNot Nothing Then
            drzb01("本期金额") = DataTables("门诊收入预算").Compute("sum(金额)",filter & " And (收入明细 like \'%合计%\' )")
        End If
       
        Dim drzb02 As DataRow = e.DataTable.find(filter & " and 指标名称 = \'检查占总收入比例\'")
        If  drzb02 IsNot Nothing AndAlso DataTables("门诊收入预算").Compute("sum(金额)",filter & " And (收入明细 like \'%合计%\' )") <> 0   Then
            drzb02("本期金额") = Format(DataTables("门诊收入预算").Compute("sum(金额)",filter & " And 收入明细 like \'%合计%\' and 项目 = \'检查收入\'")/DataTables("门诊收入预算").Compute("sum(金额)",filter & " And (收入明细 like \'%合计%\' )"),"Percent")
        End If
End Select