Foxtable(狐表)用户栏目专家坐堂 → [求助]如何判断表中setError的状态


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

主题:[求助]如何判断表中setError的状态

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


加好友 发短信
等级:幼狐 帖子:49 积分:452 威望:0 精华:0 注册:2017/11/1 10:36:00
[求助]如何判断表中setError的状态  发帖心情 Post By:2018/11/30 10:19:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:企业微信截图_15435441981553.png
图片点击可在新窗口打开查看
想在“保存并关闭”按钮的代码前加一个判断。
表中是否有红色的设置错误标记,如果还有,就不保存。
请问老师,如何判断表中的SetError状态?

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


加好友 发短信
等级:幼狐 帖子:49 积分:452 威望:0 精华:0 注册:2017/11/1 10:36:00
  发帖心情 Post By:2018/11/30 10:28:00 [显示全部帖子]

这个表是临时表,没有表事件,很头疼。请老师指点实现思路。

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


加好友 发短信
等级:幼狐 帖子:49 积分:452 威望:0 精华:0 注册:2017/11/1 10:36:00
  发帖心情 Post By:2018/11/30 12:09:00 [显示全部帖子]

setError是用循环去做的,先前也考虑用全局变量来判断,但是循环的最后一次,如果没有setError,全局变量为空,就判断不出来了。
把所有setErroe信息记录起来,请甜老师指点具体代码?

下面是我的setError代码
Dim mc As DataRow
For Each dr As Row In Tables("预览").Rows
    For Each le As Col In Tables("预览").Cols
        If dr.IsNull(le.Name) Then
            dr.DataRow.SetError(le.Name,"不能导入空值")
        End If
        If dr("积分")= 0 Then
            dr.DataRow.SetError("积分","积分值为0不必导入,请删除该行")
        End If
        'mc = DataTables("ygb").Find("SF_ID = " & dr("身份证号"))
          mc = DataTables("ygb").Find("SF_ID = '" & dr("身份证号") & "'")
        If mc IsNot Nothing Then '如果找到的话
            If dr("姓名") <> mc("name") Then
                dr.DataRow.SetError("姓名","导入的姓名与员工档案的姓名不一致,请修改后再重新导入")
            End If
        Else
            dr.DataRow.SetError("身份证号","员工档案没有该身份证号记录,查无此人或身份证号错误")
        End If
    Next
Next

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


加好友 发短信
等级:幼狐 帖子:49 积分:452 威望:0 精华:0 注册:2017/11/1 10:36:00
  发帖心情 Post By:2018/11/30 12:16:00 [显示全部帖子]

先前试着写代码,全局变量只保存最后一次循环,getError的值。
'For Each dr As Row In Tables("预览").Rows
'    For Each le As Col In Tables("预览").Cols
'        If dr.DataRow.GetError(le.Name) = ""  Then
'            vars(vv) = 0
'        else
            vars(vv) = 1
         End If
'     Next
'Next
想用Find来实现,但不知道怎么写代码。看了GetError说明,也没找到合适的例子。
[此贴子已经被作者于2018/11/30 12:21:59编辑过]

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


加好友 发短信
等级:幼狐 帖子:49 积分:452 威望:0 精华:0 注册:2017/11/1 10:36:00
  发帖心情 Post By:2018/12/3 10:22:00 [显示全部帖子]

上面这个代码,执行完Tables("预览").save,还是要执行label1:msgbox("不保存")

??

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


加好友 发短信
等级:幼狐 帖子:49 积分:452 威望:0 精华:0 注册:2017/11/1 10:36:00
  发帖心情 Post By:2018/12/3 10:38:00 [显示全部帖子]

没看懂

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


加好友 发短信
等级:幼狐 帖子:49 积分:452 威望:0 精华:0 注册:2017/11/1 10:36:00
  发帖心情 Post By:2018/12/3 11:28:00 [显示全部帖子]

执行6楼代码的结果,保存完数据,还是探出窗口:未保存。还是执行label1:msgbox("不保存")

8楼的参考,没看懂。

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


加好友 发短信
等级:幼狐 帖子:49 积分:452 威望:0 精华:0 注册:2017/11/1 10:36:00
  发帖心情 Post By:2018/12/3 11:37:00 [显示全部帖子]

6楼代码执行结果:检测是否有错误,没错误保存数据,保存完数据,还是会执行label1:msgbox("不保存")
8楼的参考没看懂。

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


加好友 发短信
等级:幼狐 帖子:49 积分:452 威望:0 精华:0 注册:2017/11/1 10:36:00
  发帖心情 Post By:2018/12/3 11:57:00 [显示全部帖子]

算了,label1我写个无意义的代码,只要能弹一个提示:不保存,跳过保存代码,不执行保存就行了。
[此贴子已经被作者于2018/12/3 11:58:12编辑过]

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


加好友 发短信
等级:幼狐 帖子:49 积分:452 威望:0 精华:0 注册:2017/11/1 10:36:00
  发帖心情 Post By:2018/12/4 13:50:00 [显示全部帖子]

谢谢甜老师,完美解决了。

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