Foxtable(狐表)用户栏目专家坐堂 → [求助]删除行的时候报了这个错误?


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

主题:[求助]删除行的时候报了这个错误?

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


加好友 发短信
等级:三尾狐 帖子:677 积分:6228 威望:0 精华:0 注册:2012/1/20 17:53:00
[求助]删除行的时候报了这个错误?  发帖心情 Post By:2014/1/26 13:10:00 [只看该作者]

删除行的时候报了这个错误?

问题出在哪里呢?这个提示什么意思。


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

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/1/26 13:18:00 [只看该作者]

前面删除行的操作,触发了后面CurrentChanged操作,后面的操作是什么呢?你没贴出来。

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


加好友 发短信
等级:三尾狐 帖子:677 积分:6228 威望:0 精华:0 注册:2012/1/20 17:53:00
  发帖心情 Post By:2014/1/26 13:19:00 [只看该作者]

    

CurrentChanged事件中,删除以下代码,就没有报错了。这个代码问题在哪里呢?

    '汇报与批示页签中,初始加载,输入框都不能编辑
    '    e.Table.Save
    '    For Each c As Winform.Control In Forms("任务管理窗口").Controls("汇报GroupBox").Children
    '        c.Enabled =False
    '    Next
     '   For Each c As Winform.Control In Forms("任务管理窗口").Controls("批示栏GroupBox").Children
     '       c.Enabled =False
    '    Next


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/1/26 13:24:00 [只看该作者]

在这些代码前面加判断:

If e.Table.Current IsNot Nothing Then

 

 

End If


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


加好友 发短信
等级:三尾狐 帖子:677 积分:6228 威望:0 精华:0 注册:2012/1/20 17:53:00
  发帖心情 Post By:2014/1/26 13:32:00 [只看该作者]

If Forms("任务管理窗口").Opened Then
    If Tables("任务表.汇报与批示").Rows.Count > 0  Then
        If Tables("任务表.汇报与批示").Current("批准否") = True Then
            Forms("任务管理窗口").Controls("审核PictureBox").TopMost = True  '控制审核图标的显示
            Forms("任务管理窗口").Controls("删除Btn").Enabled = False '删除按钮的失效
                     
        Else
            If Tables("任务表.汇报与批示").Current("汇报人") = user.Name Then
                Forms("任务管理窗口").Controls("删除Btn").Enabled = True '当汇报人是用户时候,且当前行未审核,那么可以删除
            End If
           
                    
           
            Forms("任务管理窗口").Controls("审核PictureBox").BackMost = True
        End If
       
        '批准按钮的控制(代码已经写在修改按钮中了)
        Dim s2 As String = Tables("任务表").Current("下达人") '当任务下达人,且当前行审批状态为否 时候,批准按钮有效,
    '    If s2.Contains( user.Name ) AndAlso Tables("任务表.汇报与批示").Current("批准否") = False Then
       '     Forms("任务管理窗口").Controls("批准Button").Enabled = True
     '   Else
     '       Forms("任务管理窗口").Controls("批准Button").Enabled = False
     '   End If

        '撤准按钮的控制
        If s2.Contains( user.Name ) AndAlso Tables("任务表.汇报与批示").Current("批准否") = True Then
            e.Form.Controls("撤准Button1").Enabled = True
        Else
            e.Form.Controls("撤准Button1").Enabled = False
        End If
       
       
        '---------------------当修改了,但没有保存,这时候换行,需要先锁定全部可以编辑的内容------
       
        '汇报与批示页签中,初始加载,输入框都不能编辑
    '    e.Table.Save
    '    For Each c As Winform.Control In Forms("任务管理窗口").Controls("汇报GroupBox").Children
    '        c.Enabled =False
    '    Next
     '   For Each c As Winform.Control In Forms("任务管理窗口").Controls("批示栏GroupBox").Children
     '       c.Enabled =False
    '    Next
       
       
              '工具栏修改按钮的控制
        If Tables("任务表.汇报与批示").Current IsNot Nothing Then
           
            If  Tables("任务表.汇报与批示").Current("批准否") = True Then
                Forms("任务管理窗口").Controls("修改Btn").Enabled = False
            Else
                Dim s9 As String = Tables("任务表").Current("下达人")
               
                If Tables("任务表.汇报与批示").Current("汇报人") = user.Name OrElse   s9.Contains( user.Name )  Then
                   Forms("任务管理窗口").Controls("修改Btn").Enabled = True
                Else
                    Forms("任务管理窗口").Controls("修改Btn").Enabled = False
                End If
                             
            End If
        Else
            Forms("任务管理窗口").Controls("修改Btn").Enabled = False
        End If
       

       '保存按钮不可编辑
        Forms("任务管理窗口").Controls("保存Btn").Enabled = False
       
       
        '上下移动按钮可用
        Forms("任务管理窗口").Controls("down2Btn").Enabled = True
        Forms("任务管理窗口").Controls("downBtn").Enabled = True
        Forms("任务管理窗口").Controls("upBtn").Enabled = True
        Forms("任务管理窗口").Controls("uupBtn").Enabled = True
       
        '----------------
       
       
       
       
    End If
End If


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


加好友 发短信
等级:三尾狐 帖子:677 积分:6228 威望:0 精华:0 注册:2012/1/20 17:53:00
  发帖心情 Post By:2014/1/26 13:33:00 [只看该作者]

前面是有 If Tables("任务表.汇报与批示").Rows.Count > 0  Then
end if 了呀

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/1/26 13:39:00 [只看该作者]

行有了,不代表当前行还在呀。

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


加好友 发短信
等级:三尾狐 帖子:677 积分:6228 威望:0 精华:0 注册:2012/1/20 17:53:00
  发帖心情 Post By:2014/1/26 14:18:00 [只看该作者]

居然问题出在这句上面,加了报错,不加就OK,奇怪了。 

'    e.Table.Save

 

 

 

 

将它换成DataTables("汇报与批示").Save 也报一样错误,没有这句就不出错。

 

实现换行时候,直接先保存表。但是删除当前行时候,就报错了。

[此贴子已经被作者于2014-1-26 14:21:49编辑过]

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/1/26 14:20:00 [只看该作者]

不奇怪。

不保存,行还是原来的行。

一保存,删除的行就真没了。


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


加好友 发短信
等级:三尾狐 帖子:677 积分:6228 威望:0 精华:0 注册:2012/1/20 17:53:00
  发帖心情 Post By:2014/1/26 14:28:00 [只看该作者]

这个过程是怎么样的呢?是否我理解的这样:

当前行----删除当前行后-- 系统重新选择了一个当前行--- -CurrentChanged事件触发,执行里面的代码

 

是这样吗,我该怎么改进代码呢?


 回到顶部
总数 22 1 2 3 下一页