Foxtable(狐表)用户栏目专家坐堂 → [求助]删除多行数据提示


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

主题:[求助]删除多行数据提示

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
[求助]删除多行数据提示  发帖心情 Post By:2015/1/21 20:14:00 [只看该作者]

我在表BeforeDeleteDataRow中写有以下命令;实现了对删除数据的控制。

但现在有一个问题就是:如果我是非该条纪录的所有者或者一级管理员、在选择了多行进行删除时(比如选择了5行),那么它会弹出5个提示、我该怎么修改以下命令才能实现只弹出一次提示。

If vars("删除")=False Then
    If _UserGroup <> "软件开发员" AndAlso _UserGroup <> "系统管理员"   AndAlso _UserGroup <> "一级管理员"  Then
        If e.DataTable.DataCols.Contains("操作记录_增加人员") Then
            If e.DataRow("操作记录_增加人员") <> _UserName Then
                e.Cancel = True '禁止直接编辑该表
                MessageBox.Show("你非【一级管理员 或 该纪录所有者】,无权进行删除!!!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question)
                
                
            End If
        End If
    End If
End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/21 20:22:00 [只看该作者]

 做一个删除按钮,先判断一次,判断正确以后再执行删除。

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2015/1/21 20:29:00 [只看该作者]

如果我所选择的行中既有当前用户所有的行、也有非当前用户所有的行呢?只判断一次的话,那么不就会出现遗漏吗?


能不能有办法把当前所选择的行先全部判断一次、如果其中包含有非当前用户所有的行,那么就最后才弹出提出一次提示?
[此贴子已经被作者于2015-1-21 20:39:48编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/21 20:47:00 [只看该作者]

 循环选中的行,判断。

 

 参考 http://www.foxtable.com/help/topics/1597.htm

 


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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2015/1/22 10:08:00 [只看该作者]

我有一个命令,想实现先删除某一列内容,在按要求填入数据;但是效果却是删除了内容、但没能把数据填写进去;我的命令该怎么修改?

For Each r As Row In Tables("光功率登记表").rows
    
    If e.Form.Controls("对比类型").Text = "输出光功率对比" And ( r.IsNull(e.Form.Controls("后期").Text)=False   OrElse  r.IsNull(e.Form.Controls("前期").Text)=False ) Then
        
        DataTables("光功率登记表").ReplaceFor("对比光功率_输出光功率", Nothing)

        r("对比光功率_输出光功率") = val(r(e.Form.Controls("后期").Text)) - val(r(e.Form.Controls("前期").Text))
    Else
        If e.Form.Controls("对比类型").Text = "输入光功率对比" And ( r.IsNull(e.Form.Controls("后期").Text)=False  OrElse  r.IsNull(e.Form.Controls("前期").Text)=False ) Then

            DataTables("光功率登记表").ReplaceFor("对比光功率_输入光功率", Nothing)

            r("对比光功率_输入光功率") = val(r(e.Form.Controls("后期").Text)) - val(r(e.Form.Controls("前期").Text))
            
        End If
    End If
    
Next
[此贴子已经被作者于2015-1-22 10:08:21编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/22 10:18:00 [只看该作者]

DataTables("光功率登记表").ReplaceFor("对比光功率_输出光功率",  val(r(e.Form.Controls("后期").Text)) - val(r(e.Form.Controls("前期").Text)))

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/22 10:19:00 [只看该作者]

 或者,直接写,因为你已经循环每一列了。

 

r("对比光功率_输出光功率") = val(r(e.Form.Controls("后期").Text)) - val(r(e.Form.Controls("前期").Text))


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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2015/1/22 10:35:00 [只看该作者]

我有一个命令来作为显示当前表的所有列名作为列表项目的选项;如果我希望在这个命令中加入过滤条件、用于过滤掉某几列的名称;我的命令该怎么改?

If CurrentTable IsNot Nothing Then
    Dim cs As String = ""
    For Each c As Col In CurrentTable.Cols
        cs &= c.Name & "|"
    Next
    e.Sender.ComboList = cs.TrimEnd("|")
End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/22 10:55:00 [只看该作者]

If CurrentTable IsNot Nothing Then
    Dim cs As String = ""
    For Each c As Col In CurrentTable.Cols
        If c.Name <> "第一列" AndAlso c.Name <> "第二列" Then
            cs &= c.Name & "|"
        End If
    Next
    e.Sender.ComboList = cs.TrimEnd("|")
End If

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2015/1/22 11:33:00 [只看该作者]

排序按钮公式如下,我的命令该如何修改才能确保当其中某些【排序*】控件为空时不会弹出错误? 
 CurrentTable.Sort = " "& e.Form.Controls("排序1").Text &" ,"& e.Form.Controls("排序2").Text &" ,"& e.Form.Controls("排序3").Text &" ,"& e.Form.Controls("排序4").Text &" ,"& e.Form.Controls("排序5").Text &" ,"& e.Form.Controls("排序6").Text &" " 

图片点击可在新窗口打开查看此主题相关图片如下:360截图20150122113400906.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2015-1-22 11:34:05编辑过]

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