Foxtable(狐表)用户栏目专家坐堂 → 未审科目余额跨表自动计算


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

主题:未审科目余额跨表自动计算

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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
未审科目余额跨表自动计算  发帖心情 Post By:2016/2/17 12:27:00 [只看该作者]

Select Case e.DataCol.name
    Case "会计年度"
        Dim mns() As String ={"库存现金","银行存款","其他货币资金","短期投资"}
        For Each mn As String In mns
            e.DataRow(mn) = DataTables("未审科目余额").Compute("sum(mn)","会计年度 = '" & e.DataRow("会计年度") & "'")
        Next
End Select

上述代码用于计算未审科目余额表的数据,但是执行上述代码提示

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2015.12.22.1
错误所在事件:表,已审科目余额,DataColChanged
详细错误信息:
调用的目标发生了异常。
未找到列 [mn]。
该怎么修改


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/17 14:29:00 [只看该作者]

Select Case e.DataCol.name
    Case "会计年度"
        Dim mns() As String ={"库存现金","银行存款","其他货币资金","短期投资"}
        For Each mn As String In mns
            e.DataRow(mn) = DataTables("未审科目余额").Compute("sum(" & mn & ")","会计年度 = '" & e.DataRow("会计年度") & "'")
        Next
End Select


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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2016/2/17 14:54:00 [只看该作者]

Dim mns() As String ={"库存现金","银行存款","其他货币资金","短期投资"}
Select Case e.DataCol.name
    Case "库存现金","银行存款"
        DataTables("已审科目余额").DataCols("会计年度").RaiseDataColChanged("会计年度 = '" & e.DataRow("会计年度") & "'")
End Select

由于红字部分的条件非常长,100多项,有无可能用nms数据代替

 

 


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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2016/2/17 14:56:00 [只看该作者]

科目余额表的列很多,在2楼的代码中怎么能自动把科目余额表中所有列的列名组成一个数组然后再使用2楼代码

Dim mns() As String ={"库存现金","银行存款","其他货币资金","短期投资"}把这个代码换成自动提取列名。


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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2016/2/17 15:04:00 [只看该作者]

Dim str As String
For Each c As Col In Tables("已审科目余额").Cols
   str = str & """ & c.name
Next

 

怎么把str转换为={"库存现金","银行存款","其他货币资金","短期投资"}这种格式的


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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2016/2/17 15:17:00 [只看该作者]

Dim str As String
Dim str1 As String
For Each c As Col In Tables("已审科目余额").Cols
    str = str  & c.name & ","
    str1 = str.Replace(",", """,""")
Next

通过以上方式转换后 后面多出一个 ,和“  怎么后面的两个符号


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/17 17:38:00 [只看该作者]

Dim mns() As String ={"库存现金","银行存款","其他货币资金","短期投资"}
If array.indexof(mns, e.DataCol.name) > -1 Then
    For Each mn As String In mns
        e.DataRow(mn) = DataTables("未审科目余额").Compute("sum(" & mn & ")","会计年度 = '" & e.DataRow("会计年度") & "'")
    Next
End If


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/17 17:40:00 [只看该作者]

Dim str As String
For Each c As Col In Tables("已审科目余额").Cols
    str = str  & c.name & ","
Next
Dim ary() As String = str.split(",")

 回到顶部