Foxtable(狐表)用户栏目专家坐堂 → [求助] 多用户同时编辑限制


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

主题:[求助] 多用户同时编辑限制

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
[求助] 多用户同时编辑限制  发帖心情 Post By:2016/4/18 19:45:00 [只看该作者]

我在表的Click中写有以下命令;但是由于在执行加载当前行命令时、加载需要一定的时间,在还没有加载完成前、就执行了后面的命令;造成后面执行了错误的判断。我该怎么做才能保证在执行加载命令完成后才开始执行后面的命令?

 

 

If Forms("宽带帐号割接回访主窗口").Opened() Then
    If vars("换行前") = False Then
       
        If e.Table.Name = "宽带帐号割接回访表" Then
            Forms("宽带帐号割接回访主窗口").Controls("Table1").Table.Current.Load()
            

在此处能否加入什么命令来确保上面的加载命令完成后、才执行下面的命令?

 

            Dim drn As Row = e.Table.Current
            If  drn("编辑锁定") =False Then
                Dim p1 As object = Forms("宽带帐号割接回访主窗口").Controls("Panel4")
                p1.Visible = True
                Forms("宽带帐号割接回访主窗口").Controls("Panel3").Width=Forms("宽带帐号割接回访主窗口").Controls("Panel2").Width-Forms("宽带帐号割接回访主窗口").Controls("Panel4").Width
               
            Else
                If User.Name = drn("编辑锁定工号") Then
                   
                    Dim p1 As object = Forms("宽带帐号割接回访主窗口").Controls("Panel4")
                    p1.Visible = True
                    Forms("宽带帐号割接回访主窗口").Controls("Panel3").Width=Forms("宽带帐号割接回访主窗口").Controls("Panel2").Width-Forms("宽带帐号割接回访主窗口").Controls("Panel4").Width
                Else
                    Dim p1 As object = Forms("宽带帐号割接回访主窗口").Controls("Panel4")
                    p1.Visible = False
                    Forms("宽带帐号割接回访主窗口").Controls("Panel3").Width=Forms("宽带帐号割接回访主窗口").Controls("Panel2").Width-Forms("宽带帐号割接回访主窗口").Controls("Panel4").Width
                   
                End If
            End If
        End If
    End If
End If


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/18 19:47:00 [只看该作者]

 本来就是执行完,才会执行的。

 

 


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


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

我知道是执行完才执行后面的,但是有时候加载需要一定的时间才显示出重新加载的结果;但是在显示重新加载的结果前就已经开始执行后面的命令啦;所以造成无法正确做成判断。

 

比如我所点击的当前行其实是已经有其他工号在编辑,那么按理来说当我重新加载当前行后、那么就会看到当前行的 drn("编辑锁定") =True ;这个时候就应该跳过 drn("编辑锁定") =False 的命令去执行后面的命令;但是事实是当前行还没有显示出drn("编辑锁定") =True 时,命令就开始按照drn("编辑锁定") =False 来执行。

 

所以我想、如果在加载当前行数据的命令后面,增加一条延时命令;比如等待2秒后再执行后面的命令。就应该可以解决这个问题

[此贴子已经被作者于2016/4/18 20:47:03编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/18 20:47:00 [只看该作者]

 具体实例说明。

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


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


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

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

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/18 20:59:00 [只看该作者]

 请,上传,具体实例。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/18 21:00:00 [只看该作者]

 那你也可以直接获取后台值啊

 

http://www.foxtable.com/help/topics/2955.htm

 


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


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

以下命令提示:

Dim drt As String
Dim dr As DataRow = Tables("宽带帐号割接回访表").Current.DataRow
drt = dr.SQLGetValue("编辑锁定工号")
Output.Show(drt)

msgbox(drt)

 

 


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

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/19 10:04:00 [只看该作者]

Dim drt As Object
Dim dr As DataRow = Tables("宽带帐号割接回访表").Current.DataRow
drt = dr.SQLGetValue("编辑锁定工号")

If drt.GetType.Name <> "DBNull" Then
    
msgbox(drt)

Else

    msgbox("空值")

End If


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


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

以下命令提示错误,是哪里错啦?

 

 
此主题相关图片如下:360截图20160419111042446.jpg
按此在新窗口浏览图片

 

        If e.Table.Name = "宽带帐号割接回访表" Then

            Dim drq As String
            Dim dr1 As DataRow = Tables("宽带帐号割接回访表").Current.DataRow
            drq = dr1.SQLGetValue("编辑锁定")
            Output.Show(drq)
            
            
             Dim drw As Object
             Dim dr2 As DataRow = Tables("宽带帐号割接回访表").Current.DataRow
              drw = dr2.SQLGetValue("编辑锁定工号")
              If drw.Gettype.Name <> "DBNull" Then
               Output.Show(drw)
             End If
            
            If  drq = False Then
                Dim p1 As object = Forms("宽带帐号割接回访主窗口").Controls("Panel4")
                p1.Visible = True
                Forms("宽带帐号割接回访主窗口").Controls("Panel3").Width=Forms("宽带帐号割接回访主窗口").Controls("Panel2").Width-Forms("宽带帐号割接回访主窗口").Controls("Panel4").Width
            Else
                      If User.Name = drw Then
                    Dim p1 As object = Forms("宽带帐号割接回访主窗口").Controls("Panel4")
                    p1.Visible = True
                    Forms("宽带帐号割接回访主窗口").Controls("Panel3").Width=Forms("宽带帐号割接回访主窗口").Controls("Panel2").Width-Forms("宽带帐号割接回访主窗口").Controls("Panel4").Width
                Else
                    Dim p1 As object = Forms("宽带帐号割接回访主窗口").Controls("Panel4")
                    p1.Visible = False
                    Forms("宽带帐号割接回访主窗口").Controls("Panel3").Width=Forms("宽带帐号割接回访主窗口").Controls("Panel2").Width-Forms("宽带帐号割接回访主窗口").Controls("Panel4").Width
                    MessageBox.show("当前行已经被【" & drw & "】[ 锁定编辑 ]; 你不能同时进行编辑!!!", "非常关键提醒")
                End If
            End If
        End If


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