Foxtable(狐表)用户栏目专家坐堂 → 求助自动复制行数值为0


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

主题:求助自动复制行数值为0

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


加好友 发短信
等级:童狐 帖子:266 积分:2144 威望:0 精华:0 注册:2012/3/28 16:49:00
求助自动复制行数值为0  发帖心情 Post By:2020/4/13 23:24:00 [只看该作者]

If e.DataCol.Name = "财务编号" AndAlso e.DataRow("期末贷方余额") <> 0 Then
    For Each cdr As DataRow In DataTables("项目清算_应付账款").Select("[期末贷方余额] <> 0")
        Dim nma() As String = {"供应商名称","期末贷方余额","合同编号"} '"项目清算_应付账款"表数据来源列
        Dim nmb() As String = {"成本项目明细","未付金额","合同编号"} '"成本计划及支出情况"表数据接收列
        Dim dr As DataRow = DataTables("成本计划及支出情况").AddNew
        For i As Integer = 0 To nma.Length - 1
            dr(nmb(i)) = cdr(nma(i))
            dr("成本项目") = "应付账款"
        Next
    Next
End If

老师您好!
以上代码是用窗口表自动复制行到内部表,为什么"期末贷方余额"复制到"未付金额",结果是 0
请老师指教一下,我搞了好长时间没有解决。

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


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

这个代码看不出什么问题,应该是有其他代码影响了。找不到问题可以上传实例看看

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


加好友 发短信
等级:童狐 帖子:266 积分:2144 威望:0 精华:0 注册:2012/3/28 16:49:00
  发帖心情 Post By:2020/4/14 11:28:00 [只看该作者]

对的,谢谢老师!另外一个问题,下面代码同时在窗口AfterLoad  Click 中,执行时顺序不同。加了Application.DoEvents() 也无效。请老师指教。
再次感谢!
Dim pr As String = Tables("工程合同基础数据").Current("合同编号")
Dim yfzkdr As DataRow
yfzkdr = DataTables("项目清算_应付账款").Find("[期末贷方余额] <> 0")
If yfzkdr IsNot Nothing Then
    DataTables("项目清算_应付账款").DataCols("财务编号").RaiseDataColChanged(yfzkdr)
End If

Dim cbxmdr As DataRow
cbxmdr = DataTables("成本计划及支出情况").Find("[成本项目] <> '应付账款'")
If cbxmdr IsNot Nothing Then
    DataTables("成本计划及支出情况").DataCols("入账金额").RaiseDataColChanged(cbxmdr)
    DataTables("成本计划及支出情况").DataCols("实付金额").RaiseDataColChanged(cbxmdr)
Application.DoEvents()
End If
Tables("成本计划及支出情况").Current("成本项目") = "应付账款"
Tables("成本计划及支出情况").Current("成本项目明细") = "应付款余额合计"
Tables("成本计划及支出情况").Current("未付金额") = yfkkmye
Tables("成本计划及支出情况").Current("合同编号") = pr

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20200414112629.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20200414112438.jpg
图片点击可在新窗口打开查看



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


加好友 发短信
等级:童狐 帖子:266 积分:2144 威望:0 精华:0 注册:2012/3/28 16:49:00
  发帖心情 Post By:2020/4/14 11:44:00 [只看该作者]

我在“项目清算_应付账款”表事件DataColChanged设置了自动复制行代码
If e.DataCol.Name = "财务编号" AndAlso e.DataRow("期末贷方余额") <> 0 Then
    For Each cdr As DataRow In DataTables("项目清算_应付账款").Select("[期末贷方余额] <> 0")
        Dim nma() As String = {"供应商名称","期末贷方余额","合同编号"} '"项目清算_应付账款"表数据来源列
        Dim nmb() As String = {"成本项目明细","未付金额","合同编号"} '"成本计划及支出情况"表数据接收列
        Dim dr As DataRow = DataTables("成本计划及支出情况").AddNew
        dr("成本项目") = "应付账款"
        For i As Integer = 0 To nma.Length - 1
            dr(nmb(i)) = cdr(nma(i))
        Next
    Next
End If

老师在按钮Click中怎么样才达到“项目清算_应付账款”表事件DataColChanged自动复制行结束后再执行以下代码新增行?
Tables("成本计划及支出情况").AddNew()
Tables("成本计划及支出情况").Current("成本项目") = "应付账款"
Tables("成本计划及支出情况").Current("成本项目明细") = "应付款余额合计"
Tables("成本计划及支出情况").Current("未付金额") = yfkkmye
Tables("成本计划及支出情况").Current("合同编号") = pr
[此贴子已经被作者于2020/4/14 12:08:31编辑过]

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


加好友 发短信
等级:超级版主 帖子:106664 积分:542503 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/14 12:09:00 [只看该作者]

Dim dr As DataRow = DataTables("成本计划及支出情况").AddNew

试试改为

Dim dr As Row = Tables("成本计划及支出情况").AddNew

 回到顶部