Foxtable(狐表)用户栏目专家坐堂 → 自定义函数


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

主题:自定义函数

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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15284 威望:0 精华:0 注册:2015/7/18 10:10:00
自定义函数  发帖心情 Post By:2019/4/12 19:19:00 [显示全部帖子]

由资产负债表有很多种会计准则,希望每种会计准则的计算方法都在自定义函数中设置,以下自定义函数中的代码,但是在函数中怎么表示列名,黄色代码怎么修改?

'小企业会计准则"
msgbox(0)
Dim filter As String =  "年度 = '" & CurrentTable.Current("年度") & "' And 期间 = '" & CurrentTable.Current("期间") & "'And 公司名称 = '" & CurrentTable.Current("公司名称") & "' And 会计准则 = '" & CurrentTable.Current("会计准则") & "'"
If DataTables.Contains("科目余额转换") = True Then
    Dim dt As DataTable = DataTables("科目余额转换")
msgbox(2)
    Select Case CurrentTable.DataTable.name
        Case "年度","期间"
msgbox(1)
            If CurrentTable.DataTable.find(filter & "and 资产项目 = '固定资产净值'") IsNot Nothing Then
                CurrentTable.DataTable.find(filter & "And 资产项目 = '固定资产净值'")("资产期初金额") = CurrentTable.DataTable.Compute("sum(资产期初金额)",filter & "and 资产项目 = '固定资产原值'") - CurrentTable.DataTable.Compute("sum(资产期初金额)",filter & "and 资产项目 = '固定资产累计折旧'")
                CurrentTable.DataTable.find(filter & "And 资产项目 = '固定资产净值'")("资产期末金额") = CurrentTable.DataTable.Compute("sum(资产期末金额)",filter & "and 资产项目 = '固定资产原值'") - CurrentTable.DataTable.Compute("sum(资产期末金额)",filter & "and 资产项目 = '固定资产累计折旧'")
            End If
           
            If CurrentTable.DataTable.find(filter & "and 资产项目 = '无形资产净值'") IsNot Nothing Then
                CurrentTable.DataTable.find(filter & "And 资产项目 = '无形资产净值'")("资产期初金额") = CurrentTable.DataTable.Compute("sum(资产期初金额)",filter & "and 资产项目 = '无形资产原值'") - CurrentTable.DataTable.Compute("sum(资产期初金额)",filter & "and 资产项目 = '无形资产累计摊销'")
                CurrentTable.DataTable.find(filter & "And 资产项目 = '无形资产净值'")("资产期末金额") = CurrentTable.DataTable.Compute("sum(资产期末金额)",filter & "and 资产项目 = '无形资产原值'") - CurrentTable.DataTable.Compute("sum(资产期末金额)",filter & "and 资产项目 = '无形资产累计摊销'")
            End If
            If CurrentTable.DataTable.find(filter & "and 资产项目 = '流动资产合计'") IsNot Nothing Then
                CurrentTable.DataTable.find(filter & "And 资产项目 = '流动资产合计'")("资产期初金额") = CurrentTable.DataTable.Compute("sum(资产期初金额)",filter & "and 资产项目 in ('货币资金','短期投资','应收piao据','应收账款净值','预付账款','应收股利','应收利息','其他应收款净值','存货','待摊费用','一年内到期的非流动资产','其它流动资产')")
                CurrentTable.DataTable.find(filter & "And 资产项目 = '流动资产合计'")("资产期末金额") = CurrentTable.DataTable.Compute("sum(资产期末金额)",filter & "and 资产项目 in ('货币资金','短期投资','应收piao据','应收账款净值','预付账款','应收股利','应收利息','其他应收款净值','存货','待摊费用','一年内到期的非流动资产','其它流动资产')")
            End If

end select


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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15284 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2019/4/12 20:39:00 [显示全部帖子]

按钮或表事件都可以

 


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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15284 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2019/4/12 21:18:00 [显示全部帖子]

帮我修改一下吧,黄色的怎么修改?或者采用其他方法

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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15284 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2019/4/12 21:55:00 [显示全部帖子]

在表事件里

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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15284 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2019/9/1 21:03:00 [显示全部帖子]

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2019.9.2.1
错误所在事件:自定义函数YiBuJiSuan
详细错误信息:
调用的目标发生了异常。
连接未关闭。 连接的当前状态为正在连接。

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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15284 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2019/9/1 21:08:00 [显示全部帖子]

Select Case e.DataCol.name
    Case "楼房编号"
        Dim st As Date = Date.Now '将开始时间保存在变量st中
        Functions.AsyncEx ecute("YiBuJiSuan",e)

  MessageBox.Show("耗时: " & (Date.Now - st).TotalSeconds & "秒")

end select

执行上述代码时会9楼的提示


 回到顶部