对了,厂家1 厂家2…………厂家n  分别是 Factory 中的厂家名称(记录中单一字段都有重复,联合到一起无重复)

解决方案 »

  1.   

    非要用dbgrid吗,我觉得用报表更容易一些
      

  2.   

    最好用dbgrid,如果有其他的方法当然好,不过客户要求并不是报表。随便吧,写的详细写。
    因为小弟现在连一点可行的想法都没有,并且Delphi学的很差。请高手帮忙
      

  3.   

    建一个表(table1):品名    规格    单位  厂家1  厂家2  ……………… 厂家n,
    将RawMatStore转换为table1即可,
    方法是:
    遍历RawMatStore,
    如table1中无此品名记录,则添加记录,
    “品名    规格    单位  厂家1”字段赋值,“厂家2  … 厂家n”字段为空;
    如table1中有记录,则如厂家2为空更新厂家2,否则更新厂家3...直至厂家n
      

  4.   

    为何非要用dbgrid?
    如果n确定(或者规定一个最大值),很好实现的呀
    ^_^
      

  5.   

    select distinct pName, Spec,  Unit  from RawMatStore  //query1
    for i:= 1 to recordcount do 
      begin
        v1:= fielsbyname(pName).asstring;
        v2:= fielsbyname(Spec).asstring; 
        v3:= fielsbyname(Unit).asstring;
        grid 插入一行,第1,2,3列分别赋值
        total := 0;
        select Factory ,qty from RawMatStore where pName =v1 and Spec =v2 and Unit=v3 //query2  
        for j := 1 to recordcount do
        begin
          v4:= fielsbyname(Factory).asstring;
          v5:= fielsbyname(qty).integer;       
          total += qty;
          grid的第3+j列赋值v4     
        end;
        grid的第3+n+1列赋值total;     
      end;
      

  6.   

    total += qty;//qty应该是v5