以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]动态加载表的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=125393)

--  作者:81538475
--  发布时间:2018/9/27 15:11:00
--  [求助]动态加载表的问题
我在 beforeloadouttable  中的代码
Select Case e.DataTableName
    Case "users","授权表" \'表A和表B无条件加载
    Case Else \'其他所有表默认都不加载
        e.Cancel = True
End Select

然后在afteropenproject中的代码
If _usergroup = "PM" Then
If DataTables.Contains("xmzb") = False Then
    DataTables.Load("xmzb|xmfp|人员信息表")
End If
End If


却出来错误提示,表中不存在_lock的列

--  作者:有点甜
--  发布时间:2018/9/27 15:25:00
--  

单独测试,看哪个表有问题

 

msgbox(1)

DataTables.Load("xmzb")

msgbox(2)

DataTables.Load("xmfp")

msgbox(3)

DataTables.Load("人员信息表")

msgbox(4)


--  作者:81538475
--  发布时间:2018/9/27 15:37:00
--  
我如果 不在afteropenproject中的添加
If _usergroup = "PM" Then
If DataTables.Contains("xmzb") = False Then
    DataTables.Load("xmzb|xmfp|人员信息表")
End If
End If
然后登陆之后执行下面的代码,是没有问题的。

msgbox(1)

DataTables.Load("xmzb")

msgbox(2)

DataTables.Load("xmfp")

msgbox(3)

DataTables.Load("人员信息表")

msgbox(4)


之前是表加载成功了。但是点击切换到表的时候会报错没有_lock。但是按照刚才的办法测试没有报错

[此贴子已经被作者于2018/9/27 15:38:15编辑过]

--  作者:有点甜
--  发布时间:2018/9/27 15:38:00
--  

登陆之后,执行,看是否报错

 

DataTables.Load("xmzb|xmfp|人员信息表")


--  作者:81538475
--  发布时间:2018/9/27 15:40:00
--  
也没有报错
--  作者:有点甜
--  发布时间:2018/9/27 15:41:00
--  

单独没错的话。

 

那就是你afterOpenProject其它代码有问题导致的。


--  作者:81538475
--  发布时间:2018/9/27 15:43:00
--  
顺便问下,登陆窗口时自定义的。那么时先执行登陆窗口的代码,还是先执行afteropenproject的呀。会跟这个有关系吗
--  作者:有点甜
--  发布时间:2018/9/27 15:44:00
--  

1、登陆窗口,不要设置成【自动打开】

 

2、你在afteropenproject事件,open对应窗口


--  作者:81538475
--  发布时间:2018/9/27 15:47:00
--  
嗯。是模式窗口,不能自动打开。
--  作者:有点甜
--  发布时间:2018/9/27 15:49:00
--  
以下是引用81538475在2018/9/27 15:43:00的发言:
顺便问下,登陆窗口时自定义的。那么时先执行登陆窗口的代码,还是先执行afteropenproject的呀。会跟这个有关系吗

 

如果你open代码写在前面就先执行窗口代码。