Foxtable(狐表)用户栏目专家坐堂 → 关于加载报错


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

主题:关于加载报错

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


加好友 发短信
等级:五尾狐 帖子:1065 积分:7055 威望:0 精华:0 注册:2020/11/4 22:15:00
关于加载报错  发帖心情 Post By:2021/4/27 14:40:00 [只看该作者]

Dim y As Integer = Date.Today.Year
Dim m As Integer = Date.Today.Month
Dim dt1 As New Date(y, m, 1)
Dim dt2 As New Date(y, m, Date.DaysInMonth(y, m)) '获取本月的最后一天
Dim Filter As String
Filter = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"
Filter = "业务员= User.name "  Or "审批人= User.name "
DataTables("表B").LoadFilter = Filter
DataTables("表B").Load()

执行后,报错:从字符串“业务员= User.name ”到类型“Long”的转换无效。

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106674 积分:542559 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/27 14:45:00 [只看该作者]

Filter = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"
Filter = "业务员= User.name "  Or "审批人= User.name "

改为

Filter = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "# and (业务员= '" & User.name & "'  Or 审批人= '" & User.name & "' )"

和日期的拼接方法一样啊,难道换一个列名就不会用了?!


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


加好友 发短信
等级:五尾狐 帖子:1065 积分:7055 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2021/4/28 12:51:00 [只看该作者]

老师,有以下问题,如何实现:
1.什么人查看什么数据的权限,这个要表属性设计好,还是上面加载方式好?
2,由于上面“订单”表有“业务员和审核人”的字段,可以上面代码实现,但实际应用有经常是跨部门人员或设定人按相应条件,查看数据,不在“订单”表体现,但与其已有字段有关系,如订单表的业务员是当用户名=张三,与用户表的用户名=张三的上级是刘六,小明,如何实现订单加载是当前用户是订单表的业务员张三的上级的数据。
   问题一:一对一(业务员的上级只一个,比如,业务员:张三,上级:刘六)
2.1如何实现加载当前用户是刘六的订单数据?
    问题二:一对多(业务员的上级只一个,比如,业务员:张三,上级:刘六,小明)
2.2如何实现加载当前用户是业务员:张三的上级,刘六或小明的订单数据?也就是上级中的任意一个人为当前用户。
   

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


加好友 发短信
等级:五尾狐 帖子:1065 积分:7055 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2021/4/28 12:57:00 [只看该作者]

原始资料:
1,订单表

品名    规格    数量   业务员 
J-01    A1     300     张三
J-02    A2     500     张三
J-03    A3     1500     李四

2,用户表

name    上级
张三      刘六,小明
李四      小芳







 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106674 积分:542559 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/28 13:52:00 [只看该作者]

1、按行控制就使用加载:http://www.foxtable.com/webhelp/topics/2256.htm
2、参考:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=154336&authorid=0&page=0&star=2

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


加好友 发短信
等级:五尾狐 帖子:1065 积分:7055 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2021/4/28 16:14:00 [只看该作者]

2、参考:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=154336&authorid=0&page=0&star=2
.我下载这个参考14楼,您提供实例,测试一下,报错如下,
NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.29.8
错误所在事件:加载[daily]失败!
详细错误信息:
语法错误 在查询表达式 '(_Identify is null)' 中。

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106674 积分:542559 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/28 16:33:00 [只看该作者]

LoadUserSetting事件带这里改改,_Identify列名加上中括号

    DataTables("daily").LoadFilter = "[_Identify] is null"
    DataTables("xmgl").LoadFilter = "[_Identify] is null"

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


加好友 发短信
等级:五尾狐 帖子:1065 积分:7055 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2021/4/28 16:52:00 [只看该作者]

还有一个取值问题,
通常我们会把业务员=当前用户,e.DataRow("业务员") = User.name   ,就能自动取值,而如何实例这个业务员,也就是当前用户的上级的值 ?


 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106674 积分:542559 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/28 16:56:00 [只看该作者]

通过find函数查找对应的上级

 回到顶部