Foxtable(狐表)用户栏目专家坐堂 → 出现“此行已从表中移除并且没有任何数据”错误提示


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

主题:出现“此行已从表中移除并且没有任何数据”错误提示

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


加好友 发短信
等级:五尾狐 帖子:1016 积分:7135 威望:0 精华:0 注册:2008/9/1 22:34:00
出现“此行已从表中移除并且没有任何数据”错误提示  发帖心情 Post By:2014/3/20 10:44:00 [只看该作者]

现在出现这个提示,请问是什么意思啊?

 

.NET Framework 版本:2.0.50727.3053
Foxtable 版本:2014.3.8.1
错误所在事件:窗口,登陆,Button1,Click
详细错误信息:
此行已从表中移除并且没有任何数据。BeginEdit() 将允许在此行中创建新数据


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/20 10:48:00 [只看该作者]

错误所在事件:窗口,登陆,Button1,Click

代码发出来,或者例子发出来

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


加好友 发短信
等级:五尾狐 帖子:1016 积分:7135 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2014/3/20 10:59:00 [只看该作者]

Dim r As String =e.Form.Controls("ComboBox1").Value
Dim mm As String =e.Form.Controls("TextBox1").Value
Dim kj As String=e.Form.Controls("TextBox2").Value
Dim dr As DataRow

'在用户表查找所输入用户名与密码的行
dr = DataTables("用户").Find("[用户] = '" & r & "' And [密码] = '" & mm & "'")
If dr IsNot Nothing  Then '如果找到
    If dr("暂停登录")=False Then
        Vars("_UserGroup") =dr("组")
        Vars("部门名称")=dr("部门名称")
        Vars("用户编码")=dr("用户编码")
        Vars("会计期间")=kj
        Tables("登陆")(0)("用户名") = r '与入当前表第一行用户名列为输入用户名
        Tables("登陆")(0)("会计期间") = kj
        Tables("登陆")(0)("密码")=mm
        Vars("_UserName") = r '写入全局变量
        'Forms("登陆").BaseForm.Hide
       
        'e.Form.Close()  '关闭窗口
       
        For Each t As Table In Tables
        t.Visible = True
        t.AllowEdit = True
        t.AllowLockRow = True
        t.AllowUnlockRow=True
        t.AllowDelete =True
        t.AllowAddNew=True
        'For Each c As Col In t.Cols
        'c.Visible = True
        'c.AllowEdit = True
        'Next
       Next
        If Vars("_UserName")="administrator" Then
            Tables("登陆").Visible = True
            Tables("提示").Visible = True
            Tables("用户").Visible = True
            Tables("授权表").Visible = True
        Else
           
            For Each dr1 As DataRow In DataTables("bgl").Select("[bnsj] = 'True'" )
                If  Tables.Contains(dr1("bm")) Then
                    Tables(dr1("bm")).AllowAddNew = False
                End If
            Next
           
            For Each dr1 As DataRow In DataTables("bgl").Select("[bnsc] = 'True'" )
                If  Tables.Contains(dr1("bm")) Then
                    Tables(dr1("bm")).AllowDelete = False
                End If
            Next
           
            For Each dr1 As DataRow In DataTables("bgl").Select("[bnsh] = 'True'" )
                If  Tables.Contains(dr1("bm")) Then
                    Tables(dr1("bm")).AllowLockRow = False
                End If
            Next
            
           


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


加好友 发短信
等级:五尾狐 帖子:1016 积分:7135 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2014/3/20 11:00:00 [只看该作者]

For Each dr1 As DataRow In DataTables("bgl").Select("[bnfs] = 'True'" )
                If  Tables.Contains(dr1("bm")) Then
                    Tables(dr1("bm")).AllowUnlockRow= False
                End If
            Next
           
            For Each dr1 As DataRow In DataTables("bgl").Select("[bnbj] = 'True'" )
                If  Tables.Contains(dr1("bm")) Then
                    Tables(dr1("bm")).AllowEdit = False
                End If
            Next
           
           
            For Each dr1 As DataRow In DataTables("bgl").Select("[sfkj] = 'True'" )
                If  Tables.Contains(dr1("bm")) Then
                    Tables(dr1("bm")).Visible = False
                End If
            Next
           
           
        End If
        If Vars("_UserGroup") <> "程序开发" Then
            For Each dr1 As DataRow In DataTables("授权表").Select("用户名 = '" & Vars("_UserName")& "'" )
                If  Tables.Contains(dr1("表名")) Then
                    If dr1.IsNull("列名") Then
                        Tables(dr1("表名")).Visible = Not dr1("不可见")
                        Tables(dr1("表名")).AllowEdit = Not dr1("不可编辑")
                    Else
                       
                        Dim nms() As String = dr1("列名").Split(",")
                        If dr1("只能编辑部份列") = False
                            For Each nm As String In nms
                                Tables(dr1("表名")).Cols(nm).Visible = Not dr1("不可见")
                               
                                Tables(dr1("表名")).Cols(nm).AllowEdit = Not dr1("不可编辑")
                            Next
                           
                        Else
                            For Each c As Col In Tables(dr1("表名")).Cols
                                c.AllowEdit = False
                            Next
                            For Each nm As String In nms
                                Tables(dr1("表名")).Cols(nm).AllowEdit = dr1("只能编辑部份列")
                               
                            Next
                        End If
                       
                    End If
                    If dr1("可审核")=True Then
                        Tables(dr1("表名")).AllowLockRow = True
                    Else
                        Tables(dr1("表名")).AllowLockRow = False
                    End If
                    If dr1("可反审核")=True Then
                        Tables(dr1("表名")).AllowUnlockRow = True
                    Else
                        Tables(dr1("表名")).AllowUnlockRow = False
                    End If
                    If dr1("不可删除")=True Then
                        Tables(dr1("表名")).AllowDelete = False
                    Else
                        Tables(dr1("表名")).AllowDelete = True
                    End If
                    If dr1("不可复制")=True Then
                        DataTables(dr1("表名")).AllowClipBoard = False
                    Else
                        DataTables(dr1("表名")).AllowClipBoard = True
                    End If
                    If dr1("不可增加")=True Then
                        DataTables(dr1("表名")).AllowAddNew = False
                    Else
                        DataTables(dr1("表名")).AllowAddNew = True
                    End If
                End If
            Next
        End If
        If Tables.Contains("材料成本价格表") And Tables("材料成本价格表").Visible = True Then
           
           Tables("材料成本价格表").Cols("bom_gysname").DropForm = "供应商选择"
           
       End If
       
        'For Each rb As RibbonMenu.Tab In RibbonTabs 'RibbonTabs是一个菜单集合,可以用for each遍历的
        'rb.Visible = True  '显示菜单
        'Next
        '按用户组显示或隐藏菜单项目
        If  Vars("_UserGroup") <> "程序开发" Then
            RibbonTabs("Other")("Export")("QuickExport").Visible = False
            RibbonTabs("Other")("Export")("ToText").Visible = False
            RibbonTabs("Other")("Export")("ToXML").Visible = False
        Else
            RibbonTabs("Other")("Export")("QuickExport").Visible = True
            RibbonTabs("Other")("Export")("ToText").Visible = True
            RibbonTabs("Other")("Export")("ToXML").Visible = True
        End If
       
        e.Form.Close
        MainTable=Tables("osal_ord1") '登陆成功
               
    Else
        MessageBox.Show("用户已被暂停使用!,请与管理员联系", "提示", MessageBoxButtons.ok, MessageBoxIcon.Error)
        e.Form.Controls("TextBox1").Select() '将输入焦点移到密码文本框中.
    End If
Else
    MessageBox.Show("用户名或密码错误!", "提示", MessageBoxButtons.ok, MessageBoxIcon.Error)
    e.Form.Controls("TextBox1").Select() '将输入焦点移到密码文本框中.
End If

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


加好友 发短信
等级:五尾狐 帖子:1016 积分:7135 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2014/3/20 11:01:00 [只看该作者]

发现如果用administrator用户进去就没提示,如果用其他用户就有提示。

 

当关闭出错的提示后,点击那个代码按钮,就可以正常进入了。

[此贴子已经被作者于2014-3-20 11:05:35编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/20 11:15:00 [只看该作者]

建议您用这个方法:
http://www.foxtable.com/help/topics/1485.htm

先找出是哪一行出错,然后分析原因,搞不定,贴出代码,并告诉我们运行到哪一行出错,以及错误提示。

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


加好友 发短信
等级:五尾狐 帖子:1016 积分:7135 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2014/3/20 13:44:00 [只看该作者]

以下是引用Bin在2014-3-20 11:15:00的发言:
建议您用这个方法:
http://www.foxtable.com/help/topics/1485.htm

先找出是哪一行出错,然后分析原因,搞不定,贴出代码,并告诉我们运行到哪一行出错,以及错误提示。

是这里的代码问题,但我们之前都没问题的,现在2014版才会提示有错误,我删丢这段代码就没提示出错,但所有表都会显示出来了。请问为什么会这样呢?

 

下面这段代码的意思是,在表管理里,如果这些表名存在的话就隐藏。

 

For Each dr1 As DataRow In DataTables("bgl").Select("[sfkj] = 'True'" )
                If  Tables.Contains(dr1("bm")) Then
                    Tables(dr1("bm")).Visible = False
                End If
            Next


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/20 14:05:00 [只看该作者]

奇怪了,要上个例子才知道了. 正常来说,应该是你删除了这行,然后还去取值才会报这个错的.

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40556 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2014/3/20 14:09:00 [只看该作者]

试试:"[sfkj] is True"

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40556 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2014/3/20 14:19:00 [只看该作者]

先定义datarow集合,再遍历集合中的这些行!

 回到顶部
总数 17 1 2 下一页