请教:
我有2个Table,希望在 Table_VO报表台账 中录入新记录时,用新记录的“合同or费用编号”为关键字段,来定位Table_支付汇总 中对应的记录,并写入数据,代码如下:执行代码的时候,红色msgbox()输出的值都是正确的,并且大部分时间代码运行正确,但出现过两次向Table_支付汇总写入记录时,写到了第0行了,不知道是什么原因,请高人指点一下:
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
id = Tables("VO报表台账").Current.Index
msgbox(id)
r = Tables("VO报表台账").Rows(id)
dr = DataTables("支付汇总").Find("合同or费用编号 = '"& r("合同or费用编号") &"'")
dr1 = DataTables("合同or费用台账").Find("合同or费用编号 = '"& r("合同or费用编号") &"'")
If dr IsNot Nothing Then
wz = Tables("支付汇总").findrow(dr)
msgbox(wz)
CurrentTable.Position = wz
Tables("支付汇总").Current.Locked = False
Tables("合同or费用台账").Current.Locked = False
Tables("支付汇总").current("累计VO审定金额") = DataTables("VO报表台账").Compute("sum(审定金额)", flt)
Tables("支付汇总").current("累计VO审定份数") = DataTables("VO报表台账").Compute("Count(审定金额)", flt)
Tables("支付汇总").current("变更后合同or费用总额") = dr1("合同or费用总额") + Tables("支付汇总").current("累计VO审定金额")