Foxtable(狐表)用户栏目专家坐堂 → 不能通过已删除的行访问该行的信息


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

主题:不能通过已删除的行访问该行的信息

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


加好友 发短信
等级:一尾狐 帖子:430 积分:4655 威望:0 精华:0 注册:2015/3/21 14:25:00
不能通过已删除的行访问该行的信息  发帖心情 Post By:2022/9/16 13:33:00 [只看该作者]

在窗口SQLTable表的CLICK事件代码如下,出现标题的错误提示

If e.Col.name = "删除" Then
    If Tables("自营车辆结算").Current("结算员") = user.Name Then
        If Tables("自营车辆结算").Current("结算完毕") = False Then         
            If e.Row("行驶状态") = "空驶" Then
                Dim Result As DialogResult
                Result = MessageBox.Show("确定删除此条数据?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
                If Result = DialogResult.Yes Then
                    e.Row.Delete()
                Else
                    e.Cancel = True
                End If
            End If
        Else
            MessageBox.Show("已结算完毕的结算单无法删除结算明细!")
        End If
    Else
        MessageBox.Show("非原操作员无权删除结算明细!")
    End If
End If

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/9/16 13:36:00 [只看该作者]

还有其它什么表事件?

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


加好友 发短信
等级:一尾狐 帖子:430 积分:4655 威望:0 精华:0 注册:2015/3/21 14:25:00
  发帖心情 Post By:2022/9/16 13:46:00 [只看该作者]

DataColChanged事件:

S e l e c t Case e.DataCol.Name 
    Case "油费", "通行费", "罚款", "交车费", "停车费", "其他费用"
        e.DataRow("费用合计") = e.DataRow("油费") + e.DataRow("通行费") + e.DataRow("罚款") + e.DataRow("交车费") + e.DataRow("停车费") + e.DataRow("其他费用")       
        
        Dim val As Double = Tables("自营车辆结算管理_Table1").Compute("Sum(费用合计)", "调度单号 = '" & e.DataRow("调度单号") & "'")
        Dim val1 As Double = Tables("自营车辆结算管理_Table1").Compute("Sum(台数)", "调度单号 = '" & e.DataRow("调度单号") & "'")
        
        Dim cmd As New SQLCommand
        cmd.C   
        cmd.CommandText = "UP DATE {调度管理} SET [下游金额] =" & val & " WH ERE [调度单号] = '" & e.DataRow("调度单号") & "'"
        cmd.ExecuteNonQuery()
        
        Dim cmd6 As New SQLCommand
        cmd6.C
        cmd6.CommandText = "UP DATE {调度管理} SET [下游余额] = iif([下游金额] is null,0,[下游金额]) + iif([下游调整] is null,0,[下游调整]) - iif([下游考核] is null,0,[下游考核]) + iif([预借合计] is null,0,[预借合计]) W H E R E [调度单号] = '" & e.DataRow("调度单号") & "'"
        cmd6.ExecuteNonQuery()       
        
        If val1 > 0 Then
            Dim cmd2 As New SQLCommand
            cmd2.C
            cmd2.CommandText = "UP DATE {运单管理} SET 下游单价 = " & val / val1 & " WH ERE [调度单号] = '" & e.DataRow("调度单号") & "'"
            cmd2.ExecuteNonQuery()
            
            Dim cmd3 As New SQLCommand
            cmd3.C
            cmd3.CommandText = "UP DATE {运单管理} SET 下游运费金额 = 下游台数*下游单价 WH ERE [调度单号] = '" & e.DataRow("调度单号") & "'"
            cmd3.ExecuteNonQuery()
            
            Dim cmd4 As New SQLCommand
            cmd4.C
            cmd4.CommandText = "UP DATE {运单管理} SET 下游运费余额 = iif([下游运费金额] is null,0,[下游运费金额]) + iif([下游调整金额] is null,0,[下游调整金额]) - iif([下游考核金额] is null,0,[下游考核金额]) - iif([下游借款金额] is null,0,[下游借款金额]) WH ERE [调度单号] = '" & e.DataRow("调度单号") & "'"
            cmd4.ExecuteNonQuery()        
        End If
        
        Dim cmd5 As New SQLCommand
        cmd5.C
        cmd5.CommandText = "UP DATE {运单管理} SET 下游结算 = true, 结算单号 = '" & e.DataRow("结算单号") & "', 下游结算日期 = '" & Tables("自营车辆结算").Current ("结算日期") & "', 下游结算员= '" & Tables("自营车辆结算").Current ("结算员") & "' WH ERE [调度单号] = '" & e.DataRow("调度单号") & "'"
        cmd5.ExecuteNonQuery()
        
End Select

DrawCell事件:

If e.Col.name = "删除" Then
    e.StartDraw
    If e.MouseHover = False  Then'如果鼠标不在此单元格
        e.Graphics.DrawImage(D2, e.x + 10, e.y + 3) '绘制第一个图标
    Else '如果鼠标在此单元格
        e.Graphics.DrawImage(D1, e.x + 11, e.y + 2) '绘制第二个图标
    End If
    e.EndDraw
End If

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


加好友 发短信
等级:一尾狐 帖子:430 积分:4655 威望:0 精华:0 注册:2015/3/21 14:25:00
  发帖心情 Post By:2022/9/16 13:46:00 [只看该作者]

还有以上两个事件

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


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

1楼代码是放在表格的click还是DoubleClick事件?

如果是参考这里http://www.foxtable.com/webhelp/topics/2387.htm的用法,加上【4、将表的PrepareEdit事件加入以下代码

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


加好友 发短信
等级:一尾狐 帖子:430 积分:4655 威望:0 精华:0 注册:2015/3/21 14:25:00
  发帖心情 Post By:2022/9/16 14:23:00 [只看该作者]

click事件中加已加入
If e.Col.Name = "删除" Then
   e.Cancel = 
True

End
 If
仍是提示以上错误

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


加好友 发短信
等级:一尾狐 帖子:430 积分:4655 威望:0 精华:0 注册:2015/3/21 14:25:00
  发帖心情 Post By:2022/9/16 14:34:00 [只看该作者]

老师,已查出原因。多谢

 回到顶部