Foxtable(狐表)用户栏目专家坐堂 → [求助]Table当前行定位问题


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

主题:[求助]Table当前行定位问题

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/10 17:32:00 [显示全部帖子]

不严谨

 

Dim id As Integer
Dim r As Row
Dim dr As DataRow
Dim dr1 As DataRow
Dim wz As Integer '位置
Dim htbdze As String '合同变动后总额
Dim flt As String
flt ="合同or费用编号 = '"&forms("VO报表录入").controls("TextBox1").text &"' And 审核状态 = '已审定' And 审定日期 <= '# " & forms("VO报表录入").controls("DateTimePicker2").text  & " #'"
With Tables("VO报表台账")
    If .Current IsNot Nothing Then
        r = Tables("VO报表台账").Current
        Dim idx As Integer = Tables("支付汇总").FindRow("合同or费用编号 = '"& r("合同or费用编号") &"'")
        dr1 = DataTables("合同or费用台账").Find("合同or费用编号 = '"& r("合同or费用编号") &"'")
        If idx >= 0 Then
            Dim cr As Row = Tables("支付汇总").Rows(idx)

            CurrentTable.Position = idx
            cr.Locked = False
            Tables("合同or费用台账").Current.Locked = False
            cr("累计VO审定金额") = DataTables("VO报表台账").Compute("sum(审定金额)", flt)
            cr("累计VO审定份数") = DataTables("VO报表台账").Compute("Count(审定金额)", flt)
            cr("变更后合同or费用总额") = dr1("合同or费用总额") + cr("累计VO审定金额")

[此贴子已经被作者于2015/5/10 17:32:13编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/11 11:24:00 [显示全部帖子]

以下是引用青鸟在2015/5/11 10:17:00的发言:
谢谢大红袍!我按照你的代码做了修改,当 Idx>=0 时没问题,但当 Idx = -1 时,我需要的是追加新记录Addnew(),但运行报错中断,“索引 -1 不是为负数,就是大于行数。”怎么办?

 

追加新记录,这样写啊

 

Dim cr As Row

If idx >= 0 Then

    cr = Tables("支付汇总").Rows(idx)

Else

    cr = Tables("支付汇总").AddNew

End If


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/11 14:52:00 [显示全部帖子]

 你为什么要执行这句代码?去掉不可以么?或者,你可以写到最后

 

CurrentTable.Position = idx


 回到顶部