我想让该控件按如下方式显示数据
          成功数    不成功数   总数   成功率
公司1      15          15       30     50%
公司2      10          30       40     25%表字段为:公司名称(name),该业务是否成功(result)(Y为成功N为不成功)我把MSHFLEXGRID控件与ADODC绑定了,在程序中,我可以设置ADODC的RECORDSOUCE属性为:select count(result) from table where result='Y'group by name 
这样一来控件中只能显示出各公司的成功数,即 
         成功数
公司1    15
公司2    10请问如何能实现我想要的那种结果
谢谢

解决方案 »

  1.   

    建议你不要使用绑定功能编写数据库程序。还是通过编程将数据用MSHFLEXGRID显示给你的客户。
      

  2.   

    用adodb好了,不要用adodc,用程序自己控制很简单的
      

  3.   

    在SQL中有CASE语句的呀,用它不就行了吗,笨?!
      

  4.   

    建议你不要使用绑定功能编写数据库程序。还是通过编程将数据用MSHFLEXGRID显示给你的
      

  5.   

    这个方法你可以试试
    在ACCESS下先建一个查询是交叉表 (查询1), 代码如下:
    TRANSFORM Count(表1.result) AS result之Count
    SELECT 表1.name
    From 表1
    GROUP BY 表1.name
    PIVOT 表1.result;然后再建一个查询,将查询1导入(查询2),代码如下:
    SELECT 查询1.name AS 公司, 查询1.N AS 成功数, 查询1.Y AS 不成功数, (查询1.N+查询1.Y) AS 总数, str(format((查询1.N/(查询1.N+查询1.Y)*100),"###.00"))+"%" AS 成功率
    FROM 查询1;运行查询2
    导入MSH
    Set MSHFlexGrid1.DataSource = 记录集(查询2的)
      

  6.   

    改一下:
    TRANSFORM iif(isnull(Count(表1.result)),0,Count(表1.result)) AS result之Count
    SELECT 表1.name
    FROM 表1
    GROUP BY 表1.name
    PIVOT 表1.result;