我知道 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编辑过]