Foxtable(狐表)用户栏目专家坐堂 → fill 加载表 不同的用户处理不同的行


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

主题:fill 加载表 不同的用户处理不同的行

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
fill 加载表 不同的用户处理不同的行  发帖心情 Post By:2014/3/22 12:56:00 [只看该作者]

我知道 select查询表 不同的用户处理不同的行的处理方法:

 

假定订单表有一个雇员列,希望每个雇员从后台加载数据的时候,只能加载自己负责的订单。
为此可以将BeforeLoad事件设置为:

If User.Group = "雇员" '如果用户分组是雇员
    Dim fl As String = "[雇员] = '" & User.Name &
"'"
   
If e.DataTable.LoadFilter = "" Then

        e.
DataTable.LoadFilter = fl
    ElseIf
e.DataTable.LoadFilter.IndexOf(fl) < 0 Then
'如果没有包括雇员条件
        e.
DataTable.LoadFilter = e.DataTable.Loadfilter & " And " & fl
   
End If
End
If

 

那用fill加载的表要怎么做呢?

 

fill加载表方法:

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=47987

 

Dim sql,ex1,ex2,filter as string
Filter  =""   '你的条件
ex1 = "Round(DateDiff(m,MAX(消费日期),GetDate()),0)"
ex2 = vbcrlf  & "(Case" & vbcrlf 
ex2+ ="When " & ex1 & "< 3 Then '五星级活跃'"  & vbcrlf 
ex2+ ="When " & ex1 & ">= 3 and " & ex1 & " < 6 Then '三星级活跃'" & vbcrlf 
ex2+= "Else  '不活跃'" & vbcrlf 
ex2+="End) As 活跃级别  " 

'
If Filter > "" Then

 

 

sql = "select * from (select 归属门店代号,VIP卡号,MAX(消费日期) As 最后购买日期," & ex1 & " As 几个月没来买," & ex2 & " FROM " 
sql+="(rjsytVIP消费信息 LEFT JOIN rjsytVIP基本信息 ON (卡号 = VIP卡号 )) GROUP BY  VIP卡号, 归属门店代号) as a Where " & Filter
DataTables("VIP行为信息_VIP行为信息").Fill(sql,"VIP数据", True) 

 

End If
[此贴子已经被作者于2014-3-22 13:01:30编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/22 14:05:00 [只看该作者]

应该是SQL语句错误了,你把拼接好的语句弹出来看一下才好分析.

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2014/3/22 14:11:00 [只看该作者]

哦,Bin老师,上面的语句没有错。

 

我的问题是

 

这种fill加载表的方式,怎么才能够 让不同的用户 加载不同的行。

 

就是不同的门店账号登录进来,只显示此登录门店账号的信息。别的门店的信息不显示。

 

是否可以这样:

在窗口的AfterLoad事件加上代码:

Tables("窗口1_Table1").Fill("Select * From {订单} Where 归属门店代号 = “”, False)
不知道怎么写。。。

[此贴子已经被作者于2014-3-22 14:11:28编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/22 14:12:00 [只看该作者]

在FIlter里拼接啊

Filter= Filter & " and 归属门店代号='" & User.name & "'"

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2014/3/22 14:16:00 [只看该作者]

哈哈。可以了。还是基础不扎实。谢谢Bin老师!!!

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2014/3/22 16:31:00 [只看该作者]

各位老师好,我遇到这样的问题:
有不同类型的用户,一种是门店用户(门店登录账号),一种是销售主管账号。
 
实现哪个门店账号登录的就只查询该门店的信息  的代码我这样写,可以实现:
sql = "select * from (select 归属门店代号,VIP卡号,MAX(消费日期) As 最后购买日期," & ex1 & " As 几个月没来买," & ex2 & " FROM " 
sql+="(rjsytVIP消费信息 LEFT JOIN rjsytVIP基本信息 ON (卡号 = VIP卡号 )) GROUP BY  VIP卡号, 归属门店代号) as a Where " & Filter   & " and 门店登录账号='" & User.name & "'" 
DataTables("VIP行为信息_VIP行为信息").Fill(sql,"VIP数据", True) 
 
 
 
而同时想实现 销售主管 登录时显示他所管辖的门店的信息,通过下面代码可以实现:
sql = "select * from (select 归属门店代号,VIP卡号,MAX(消费日期) As 最后购买日期," & ex1 & " As 几个月没来买," & ex2 & " FROM " 
sql+="(rjsytVIP消费信息 LEFT JOIN rjsytVIP基本信息 ON (卡号 = VIP卡号 )) GROUP BY  VIP卡号, 归属门店代号) as a Where " & Filter   & " and 门店登录账号='" & User.name & "'"  & " Or 销售主管登录账号='" & User.name & "'"
DataTables("VIP行为信息_VIP行为信息").Fill(sql,"VIP数据", True) 
 
但是遇到了问题:
销售主管登录后,是只显示他所管辖的门店信息,但是就不能进行其他的加载(比如只加载他所管辖的门店的其中一个),因为不管再加载什么内容,Or 销售主管登录账号='" & User.name & "'" ,因为都满足这个条件,所以就只要是这个销售主管所管辖的门店,就都全部显示了。。。
 
 
我知道是  OR  的问题,但是不知道怎么改。。。。
 
 

 

 

 


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/22 16:34:00 [只看该作者]

加一个括号

as a Where " & Filter   & " and (门店登录账号='" & User.name & "'"  & " Or 销售主管登录账号='" & User.name & "')"

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2014/3/22 16:36:00 [只看该作者]

哦,对,我也有这样的想法,但是自己没写对。

 

谢谢Bin 老师!!


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/3/22 16:38:00 [只看该作者]

 销售主管登录以后,加载了所辖多个门店的信息,如果想操作其中一个门店的信息,再筛选一下。

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2014/3/25 8:46:00 [只看该作者]

哦哦,谢谢lsy老师,正是这样操作!!哈,现在才看到帖子。知道怎么做了之后就埋头做了,没有再看帖子。。。

[此贴子已经被作者于2014-3-25 8:46:22编辑过]

 回到顶部