Foxtable(狐表)用户栏目专家坐堂 → 求助——加载外部数据表不能限制条件,帮忙看哪里出错啦?


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

主题:求助——加载外部数据表不能限制条件,帮忙看哪里出错啦?

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


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
求助——加载外部数据表不能限制条件,帮忙看哪里出错啦?  发帖心情 Post By:2019/1/4 15:20:00 [只看该作者]

求助——加载外部数据表不能限制条件,帮忙看哪里出错啦?
为了方便查找问题,我把三段测试代码,顺序倒过来显示如下:
BeforeLoadOuterTable  事件代码:



[此贴子已经被作者于2019/1/4 15:21:40编辑过]

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


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
[原创]发不了  发帖心情 Post By:2019/1/4 15:24:00 [只看该作者]

求助——加载外部数据表不能限制条件,帮忙看哪里出错啦?
为了方便查找问题,我把三段测试代码,顺序倒过来显示如下:
BeforeLoadOuterTable  事件代码:


测试三:
If e.DataTableName = "员工基础表" Then
    e.SelectString = "Select * Fro m {员工基础表} Where [_Identify] Is Null"
End If
从帮助文件完全复制过来的语句,居然也执行不对,员工信息全部加载了,重新打开项目也一样。


测试二:
If e.DataTableName = "员工基础表" Then
    e.SelectString = "Select * Fro m {员工基础表} Where [二级] = '天誉公司南岭矿'"
End If
员工全部加载了。没有限制为二级公司

测试一,先编写的代码,执行结果不正确,加载了全部记录。
'一下段落,试图设置用户分组的权限.usbm=用户部门之意.
Dim usbm As String
usbm = user.group
If usbm = "天誉"
usbm = "天誉公司" '这个USBM要去和"二级"相对照
Else
usbm = "天誉公司" & usbm & "矿"
End If  

If e.DataTableName = "员工基础表" AndAlso e.User.Name = "管理员" Or e.user.name = "开发者" Then
    e.SelectString = "Select * Fro m {员工基础表}" 
Else 
e.Selectstring = "select * fro m {员工基础表} where [二级] = ' & usbm & '"

'e.Selectstring = "select * fro m {员工基础表} where [二级] = '天誉公司南岭矿 '"

End If


[此贴子已经被作者于2019/1/4 15:31:54编辑过]

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


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

1、msgbox(e.DataTableName) 弹出什么?

 

红色msgbox(1)能否弹出?

 

If e.DataTableName = "员工基础表" Then
msgbox(1)
    e.SelectString = "Select * Fro m {员工基础表} Where [_Identify] Is Null"
End If
 
2、你是不是在afterOpenProject等事件,写有 loadfilter、load 的代码?导致打开项目后表格重新加载了数据?

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


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2019/1/4 16:49:00 [只看该作者]

图片点击可在新窗口打开查看把上面代码复制后运行,弹出一个提示,显示“1”。确定后出现如下图的信息。很长的一个提示窗口。
然后这个表整个没有加载,连表名都没有出现。
另外,仔细检查了别的事项代码,没有其他load命令。

[此贴子已经被作者于2019/1/4 16:56:45编辑过]

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


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2019/1/4 16:55:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:提示2.png
图片点击可在新窗口打开查看

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


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

1、看不到图片。

 

2、删除多余代码仅剩下面的测试

 

If e.DataTableName = "员工基础表" Then
msgbox(1)
    e.SelectString = "Select * From {员工基础表} Where [_Identify] Is Null"
End If
 
3、删除你afterOpenProject等事件的代码。

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


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2019/1/4 17:07:00 [只看该作者]

删除你afterOpenProject等事件的代码——代码中就是加载了个欢迎窗口。设置员工基础表为主表。感觉应该没事。不过还是全让它们变灰色了。此后——
好啦,这段命令执行正常了。
我再测一下固定字符串,最后测一下动态字符串。
固定字符串条件加载正常。
[此贴子已经被作者于2019/1/4 17:10:13编辑过]

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


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2019/1/4 17:26:00 [只看该作者]

Dim usbm As String
usbm = user.group
If usbm = "天誉"
    usbm = "天誉公司" '这个USBM要去和"二级"相对照
Else
    usbm = "天誉公司" & usbm & "矿"
End If
msgbox(usbm)

If e.DataTableName = "员工基础表" Then
    msgbox(1)
    e.SelectString = "Select * Fro m {员工基础表} Where [二级] = '天誉公司二号矿'"
End If

上述代码,先取了一个动态字符串,但是并没有加入到条件中。执行过程出现问题:
msgbox(usbm)显示字符串正常,不过点确定键后,这个提示又连续出现7次。随后没有执行msgbox(1),而是再次连续出现usbm字符串的值。最后项目启动,固定字符串条件加载正常。

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


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

 

If e.DataTableName = "员工基础表" Then
    msgbox(1)
    Dim usbm As String
    usbm = e.user.group
    If usbm = "天誉"
        usbm = "天誉公司" '这个USBM要去和"二级"相对照
    Else
        usbm = "天誉公司" & usbm & "矿"
    End If
    msgbox(usbm)
    e.SelectString = "Select * Fro m {员工基础表} Where [二级] = '" & usbm & "'"
End If

 


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


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2019/1/4 17:41:00 [只看该作者]

另外,最后的动态条件表达式,老是出错啊,按版主的格式复制过来都不行。

Dim usbm As String
usbm = user.group
If usbm = "天誉"
    usbm = "天誉公司" '这个USBM要去和"二级"相对照
Else
    usbm = "天誉公司" & usbm & "矿"
End If

If e.DataTableName = "员工基础表" Then
    msgbox(1)
‘’"Select * Fro m {表A} Where [单位名称] = '" & e.User.Name & "'"
    e.SelectString = "Select * Fro m {员工基础表} Where [二级] = '" & usbm & "'"
End If

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