以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  菜单代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=66148)

--  作者:爱相随
--  发布时间:2015/3/31 9:31:00
--  菜单代码

老师,下面是菜单里的“删除行”按钮的代码,结果是,它会删除所有表中“XZH”为TRUE的行,而我的要求是只要删除当前表所选择的行。

If user.NAME = "管理员" Then
  For Each r As Row In Tables("fkb2").Rows
    If r("XZH") = True Then
      Syscmd.Row.Delete()
    End If
   Next

ElseIf User.IsRole("总工办") Then
   For Each r As Row In Tables("XMJDB").Rows
   MainTable=Tables("XMJDB")
   If r("XZH") = True Then
    If Tables("xmjdb").current.Isnull("BMSH") = False Then
        MessageBox.Show("数据已经审核通过,你不能删除!.")
    Else
       Syscmd.Row.Delete()
    End If
   End If
   Next

END IF

 

然后改成下列代码后就提示错误,请老师指导,谢谢??

If user.NAME = "管理员" Then
  For Each r As Row In CurrentTable("fkb2").Rows
    If r("XZH") = True Then
      Syscmd.Row.Delete()
    End If
   Next

ElseIf User.IsRole("总工办") Then
   For Each r As Row In CurrentTable("XMJDB").Rows
   MainTable=Tables("XMJDB")
   If r("XZH") = True Then
    If Tables("xmjdb").current.Isnull("BMSH") = False Then
        MessageBox.Show("数据已经审核通过,你不能删除!.")
    Else
       Syscmd.Row.Delete()
    End If
   End If
   Next

END IF

是不是要将CurrentTable("XMJDB").Rows改成CurrentTable.Rows呢??


[此贴子已经被作者于2015/3/31 9:33:09编辑过]

--  作者:Bin
--  发布时间:2015/3/31 9:33:00
--  
If r("XZH") = True  \' 通过这个逻辑列选择?


If r("XZH") = True Then
      r.Delete()
    End If

--  作者:有点甜
--  发布时间:2015/3/31 9:34:00
--  

If user.NAME = "管理员" Then
    For Each r As Row In CurrentTable.Rows
        If r("XZH") = True Then
            Syscmd.Row.Delete()
        End If
    Next
   
ElseIf User.IsRole("总工办") Then
    For Each r As Row In CurrentTable.Rows
        If r("XZH") = True Then
            If CurrentTable.current.Isnull("BMSH") = False Then
                MessageBox.Show("数据已经审核通过,你不能删除!.")
            Else
                Syscmd.Row.Delete()
            End If
        End If
    Next
End If

 


--  作者:爱相随
--  发布时间:2015/3/31 9:35:00
--  
以下是引用Bin在2015/3/31 9:33:00的发言:
If r("XZH") = True  \' 通过这个逻辑列选择?


If r("XZH") = True Then
      r.Delete()
    End If

但是,又要判断用户角色和表来给权限,比如某些表某些角色是没有删除权限的。。。

[此贴子已经被作者于2015/3/31 9:35:29编辑过]

--  作者:有点甜
--  发布时间:2015/3/31 9:36:00
--  
 看3楼,楼主你一点进步都没有