select动态查询OLE error 800A0E7C请大家帮忙看看
我想实现如图所示的效果,根据radiogroup选的不同然后做各个分类汇总,现在我的代码是静态的查询,效果如图,
SQLStr :='SELECT 业务员, SUM(CASE WHEN month(操作时间) = 1 THEN 台数 ELSE 0 END) AS "1月份总额",SUM(CASE WHEN month(操作时间) = 2 THEN 台数 ELSE 0 END) AS "2月份总额",SUM(CASE WHEN month(操作时间) = 3 THEN 台数 ELSE 0 END) AS "3月份总额",' +'SUM(CASE WHEN month(操作时间) = 4 THEN 台数 ELSE 0 END) AS "4月份总额",SUM(CASE WHEN month(操作时间) = 5 THEN 台数 ELSE 0 END) AS "5月份总额", SUM(CASE WHEN month(操作时间) = 6 THEN 台数 ELSE 0 END) AS "6月份总额",' +' SUM(CASE WHEN month(操作时间) = 7 THEN 台数 ELSE 0 END) AS "7月份总额", SUM(CASE WHEN month(操作时间) = 8 THEN 台数 ELSE 0 END) AS "8月份总额", SUM(CASE WHEN month(操作时间) = 9 THEN 台数 ELSE 0 END) AS "9月份总额",' +' SUM(CASE WHEN month(操作时间) = 10 THEN 台数 ELSE 0 END) AS "10月份总额", SUM(CASE WHEN month(操作时间) = 11 THEN 台数 ELSE 0 END) AS "11月份总额", SUM(CASE WHEN month(操作时间) = 12 THEN 台数 ELSE 0 END) AS "12月份总额" '+'FROM 订车合同 where year(操作时间)=2012 GROUP BY 业务员'; ADOQuery1.Close; ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(SQLStr); ADOQuery1.Open;
SQLStr :='SELECT :leixing, SUM(CASE WHEN month(操作时间) = 1 THEN :paiming ELSE 0 END) AS "1月份总额",SUM(CASE WHEN month(操作时间) = 2 THEN :paiming ELSE 0 END) AS "2月份总额",SUM(CASE WHEN month(操作时间) = 3 THEN :paiming ELSE 0 END) AS "3月份总额",' +'SUM(CASE WHEN month(操作时间) = 4 THEN :paiming ELSE 0 END) AS "4月份总额",SUM(CASE WHEN month(操作时间) = 5 THEN :paiming ELSE 0 END) AS "5月份总额", SUM(CASE WHEN month(操作时间) = 6 THEN :paiming ELSE 0 END) AS "6月份总额",' +' SUM(CASE WHEN month(操作时间) = 7 THEN :paiming ELSE 0 END) AS "7月份总额", SUM(CASE WHEN month(操作时间) = 8 THEN :paiming ELSE 0 END) AS "8月份总额", SUM(CASE WHEN month(操作时间) = 9 THEN :paiming ELSE 0 END) AS "9月份总额",' +' SUM(CASE WHEN month(操作时间) = 10 THEN :paiming ELSE 0 END) AS "10月份总额", SUM(CASE WHEN month(操作时间) = 11 THEN :paiming ELSE 0 END) AS "11月份总额", SUM(CASE WHEN month(操作时间) = 12 THEN :paiming ELSE 0 END) AS "12月份总额" '+'FROM 订车用户合同 where year(操作时间)=:nianfen GROUP BY :leixing'; ADOQuery1.Close; ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(SQLStr);case RadioGroup1.ItemIndex of 0: ADOquery1.Parameters.ParamByName('leixing').Value:='车型'; 1: ADOquery1.Parameters.ParamByName('leixing').Value:='区域'; 2: ADOquery1.Parameters.ParamByName('leixing').Value:='客户'; 3: ADOquery1.Parameters.ParamByName('leixing').Value:='业务员'; 4: ADOquery1.Parameters.ParamByName('leixing').Value:='品系'; 5: ADOquery1.Parameters.ParamByName('leixing').Value:='订单类型'; end;case RadioGroup2.ItemIndex of 0: ADOquery1.Parameters.ParamByName('paiming').Value:='台数'; 1: ADOquery1.Parameters.ParamByName('paiming').Value:='总价'; end; ADOquery1.Parameters.ParamByName('nianfen').Value:=spinEdit1.Value; ADOQuery1.Open;