我有一表,如下:JABC0001 DSKF23  123
         SDF342  1231
         DS1221  123
JABC0002 DSKF23  123
         SDF342  1231
         DS1221  123
         DSF13   12312
JAB30001 DSKF23  123
         SDF342  1231
         DS1221  123在EXCEL或写代码实现如下:JABC0001 DSKF23  123
JABC0001 SDF342  1231
JABC0001 DS1221  123
JABC0002 DSKF23  123
JABC0002 SDF342  1231
JABC0002 DS1221  123
JABC0002 DSF13   12312
JAB30001 DSKF23  123
JAB30001 SDF342  1231
JAB30001 DS1221  123

解决方案 »

  1.   

    我的数据是从数据库倒出来的,在系统里显示是
    JABC0001 DSKF23  123
             SDF342  1231
             DS1221  123
    JABC0002 DSKF23  123
             SDF342  1231
             DS1221  123
             DSF13   12312
    JAB30001 DSKF23  123
             SDF342  1231
             DS1221  123
    现在我想把它这样显示JABC0001 DSKF23  123
    JABC0001 SDF342  1231
    JABC0001 DS1221  123
    JABC0002 DSKF23  123
    JABC0002 SDF342  1231
    JABC0002 DS1221  123
    JABC0002 DSF13   12312
    JAB30001 DSKF23  123
    JAB30001 SDF342  1231
    JAB30001 DS1221  123
      

  2.   

    如我有3个字段,分别是MRP_NO,PRD_NO,QTYMRP_NO    PRD_NO    QTYJABC0001  DSKF23    123
              SDF342    1231
              DS1221    123
    JABC0002  DSKF23    123
              SDF342    1231
              DS1221    123
              DSF13     12312
    JAB30001  DSKF23    123
              SDF342    1231
              DS1221    123
    在系统里导出数据是如上显示,系统就是把同属于同一个MRP_NO的MRP_NO只显示一个,其实
    拿上面资料的第一个MRP_NO来说SDF342,DS1221的MRP_NO都是JABC0001,该如何把它变成MRP_NO    PRD_NO    QTYJABC0001  DSKF23   123
    JABC0001  SDF342   1231
    JABC0001  DS1221   123
    JABC0002  DSKF23   123
    JABC0002  SDF342   1231
    JABC0002  DS1221   123
    JABC0002  DSF13    12312
    JAB30001  DSKF23   123
    JAB30001  SDF342   1231
    JAB30001  DS1221   123
       
      

  3.   

    楼主 如果你数据库原资料表里的数据记录显示为:
    JABC0001 DSKF23  123
             SDF342  1231
             DS1221  123
    JABC0002 DSKF23  123
             SDF342  1231
             DS1221  123
             DSF13   12312
    JAB30001 DSKF23  123
             SDF342  1231
    可以尝试用游标修改
             DS1221  123
      

  4.   

    从数据看上去,若没猜错,应该有点类似于报表的形式实际上数据应该是
    MRP_NO    PRD_NO    QTY
    ========================
    JABC0001  DSKF23    123
              SDF342    1231
              DS1221    123
    -------------------------
    JABC0002  DSKF23    123
              SDF342    1231
              DS1221    123
              DSF13     12312
    -------------------------
    JAB30001  DSKF23    123
              SDF342    1231
              DS1221    123
    -------------------------
    可能由于导入时不明白,所以某些字段就没有被填充了。这个应该从数据文件着手,否则若建立索引之后的话,就可能一团糟,目前一种方式是以方件方式用程序去处理,另一种是把表当做临时数据,用存储过程处理。
      

  5.   

    数据库结构是不可以变的,因为数据显示是从几个表(BOM结构)得出来的,当然我可以自己从新也写个出来,我也写出来了,但是速度没有公司的那个系统快。所以就考虑从公司系统导出,在从结果那做文章。
      

  6.   

    你现在的数据是显示在quickreport里啊还是可以弄到文本里,如果是quickreport里则需要调整模板,如果在文本里的话用代码读一行写一行不费劲吧,问问题要厚道,把问题写明白了才好回答
      

  7.   

    致unsigned(僵哥) ,公司ERP系统显示是如你表示那样,改变它的显示方式是不可能的拉。我是这样想的,把数据倒出到EXCEL,再倒入一个临时表里,在从临时表里把上面的显示方式变成我想要的。最后一步,如何实现?我不会......
      

  8.   

    致 qin_wei(烤毛蛋)  ,sorry,我问的时候不够详细吧。
      

  9.   

    MRP_NO    PRD_NO    QTY
    ========================
    JABC0001  DSKF23    123
              SDF342    1231
              DS1221    123
    -------------------------
    JABC0002  DSKF23    123
              SDF342    1231
              DS1221    123
              DSF13     12312
    -------------------------
    JAB30001  DSKF23    123
              SDF342    1231
              DS1221    123
    以上这些数据如果是从BOM中导出的,那你的结构导出的还不够完整,BOM表结构应该有个
    父、子关系的,哪个节点是哪个的父节点要说明,不然这种结构根本无法处理。我猜你
    导出的这种数据结构是从报表导出的,你要注意其实这种结构还隐含着另外的数据信息
    就是MRP_NO是PRD_NO的父接点;QTY是PRD_NO的属性值,例如:DSKF23的父节点是JABC0001
    其值是123。
    好好学习一下数据结构吧,这可是计算机专业的基础课,现在的编程人员往往把最基础的
    东西给忽视了。
      

  10.   

    大哥,这些我都知道,我都说了,如果自己写,我自己已经可以把数据导出来,但导数据的时候,速度太慢,导了几个小时,才导出几万笔数据,而且数据库死掉了,后来我发现企业用的ERP有此导出功能,所以就从那导出数据,但格式就象上面所表示的那样了。现在我只想把结果一次全部变过来求。。
      

  11.   

    不是很容易吗,想怎么写啊
    delphi 语法忘光了,觉得合适就改改用吧
    strCurrent:String
    strColumn1:String
    strColumn2:String
    strColumn3:String
    begin
    while getnextline(strColumn1,strColumn2,strColumn3);//自定义函数,引用传参
    begin
    if strlen(strColumn1)=0 then
    begin
    strColumn1 := strCurrent;
    end
    else
    begin
    strCurrent := strColumn1;
    end;
    writeline(strColumn1,strColumn2,strColumn3);
    end;
    end
      

  12.   

    知道你说什么了循环,但MRP_NO改变时输出新值,否则输出旧值就不写了,楼主自己写,很简单的了。
      

  13.   

    ms server存储过程中用游标处理