各位老师早:
Dim sql,ex1,ex2,ex3,ex4 As String
ex1 = "Round(DateDiff( m,MAX(消费日期),GetDate()),0)"
ex2 = vbcrlf & "(Case" & vbcrlf
ex2+ ="When " & ex1 & ">= 13 Then '一星活跃'" & vbcrlf
ex2+ ="When " & ex1 & ">= 10 and " & ex1 & " < 13 Then '二星活跃'" & vbcrlf
ex2+ ="When " & ex1 & ">= 6 and " & ex1 & " < 10 Then '三星活跃'" & vbcrlf
ex2+ ="When " & ex1 & ">= 3 and " & ex1 & " < 6 Then '四星活跃'" & vbcrlf
ex2+ = "Else '五星活跃'" & vbcrlf
ex2+ ="End) As 活跃级别 "
ex3 = "COUNT(DISTINCT 消费日期) "
ex4 = vbcrlf & "(Case" & vbcrlf
ex4+ ="When " & ex3 & ">= 15 Then '五星忠诚'" & vbcrlf
ex4+ ="When " & ex3 & ">= 10 and " & ex1 & " < 15 Then '四星忠诚'" & vbcrlf
ex4+ ="When " & ex3 & ">= 6 and " & ex1 & " < 10 Then '三星忠诚'" & vbcrlf
ex4+ ="When " & ex3 & ">= 3 and " & ex1 & " < 6 Then '二星忠诚'" & vbcrlf
ex4+ = "Else '一星忠诚'" & vbcrlf
ex4+ ="End) As 忠诚级别 "
sql = "select * from (Select {rjsytVIP基本信息}.归属门店代号 ,{rjsytVIP消费信息}.VIP卡号, " & ex2 & " , " & ex4 & " FROM "
sql+ = "((rjsyt管理层名单 LEFT JOIN rjsytVIP基本信息 ON rjsytVIP基本信息.归属门店代号 = rjsyt管理层名单.归属门店代号) RIGHT JOIN rjsytVIP消费信息 ON 卡号 = {rjsytVIP消费信息}.VIP卡号 RIGHT JOIN rjsytVIP拓展信息 ON {rjsytVIP拓展信息}.VIP卡号 = {rjsytVIP消费信息}.VIP卡号 ) where {rjsytVIP消费信息}.[_Identify] Is Null GROUP BY {rjsytVIP消费信息}.VIP卡号, {rjsytVIP基本信息}.归属门店代号) As a Where "
Tables("VIP行为信息_VIP行为信息").Fill(sql,"VIP数据", True)
我想增加一个列名为【顾客类别】,值是【活跃级别】与【忠诚级别】的组合,即:" & ex2 & " 与 " & ex4 & "的组合,我这样写:“" & ex2 & " & " & ex4 & "” AS 顾客类别
没有实现。。。。不知道怎么写。。。
[此贴子已经被作者于2014-3-25 9:17:51编辑过]