Foxtable(狐表)用户栏目专家坐堂 → 窗口[首页]指定的所有者表不存在,无法打开此窗口!


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

主题:窗口[首页]指定的所有者表不存在,无法打开此窗口!

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/16 21:07:00 [显示全部帖子]

贴出升级代码。

 

如果我们在AfterOpenProject下面的代码:

Syscmd.Project.Update(False,False) 
Forms("窗口1").Open() '可能会出错
'后续其它代码

目的是希望打开项目的时候自动升级,然后打开窗口1。
但是上述代码肯定会在升级成功之后提示错误,因为一旦升级成功,Foxtable就会关闭,后面的打开窗口代码就会出错,当然后续其它的代码也一样会出错。
我们可以用下面的代码避免错误:

If Syscmd.Project.Update(False,False) = False Then '如果没有升级
    Forms("窗口1").open()
    '后续其它代码
End If

也就是说Update执行后会返回一个逻辑值,如果升级成功,返回True,否则返回False。

总之,如果需要在AfterOpenPoject事件中实现自动升级,那么原有的AfterOpenProject事件代码必须包括在这个判断中,只有没有升级的情况下,才执行原来的代码:

If Syscmd.Project.Update(False,False) = False Then '如果没有升级
    '原AfterOpenProject事件代码
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/16 21:37:00 [显示全部帖子]

改成

 

If Syscmd.Project.Update(False,True) = false Then
    '导航
    Forms("导航").Show
    Forms("logo").Show
    MainTable = Tables("首页")
    Forms("首页").Open()
   
    '标题
    BaseMainForm.Text = "管理系统" 
   
Else
    Application.ReStart

    return
End If


 回到顶部