以下内容是在fpSpread控件中,通过fpSpread1.GetText(列,行,单元格的值)能获得某单元格的值,fpSpread1.MaxRows获得最大行数
条码  套件  套件编码  厂商序号
A1    2      A        1
A2    2      A        1
A3    3      A        2
A4    3      A        2
需求:
遍历循环每行,获得套件编码和厂商序号相同行数,与此套件编码,厂商序号相应的套件做比较,不相等的条件下,得到相应的条码。
即以上四行中,第一行的套件编码、厂商序号与第二行的相同,即2行等于此套件编码、厂商序号相应的套件2,PASS掉,
第三行,第四行有着相同的套件编码、厂商序号,但是它们只有2行,与它们相应的套件3不相等,所以需求获得条码A3,A4。请指教应该如何编写代码?
 

解决方案 »

  1.   

    存到数据库里比较简单。可以用如下SQL代码:select * From 数据表 where 套件编码=厂商序号
    条码可以用条码控件,完全安装Corel9后有这个控件
      

  2.   

    程序中做个累加,不难实现吧。就是麻烦点。
    期待更好的做法。dim cnt as long
    cnt=1
    dim i as long
    for i=0 to fpSpread1.MaxRows-2
    if (fpSpread1.GetText(套件编码,i,单元格的值)<>fpSpread1.GetText(套件编码,i+1,单元格的值)) or (fpSpread1.GetText(厂商序号,i,单元格的值)<>fpSpread1.GetText(厂商序号,i+1,单元格的值)) then
        判断cnt与数量是否相同,并处理
        cnt=1
    else
        cnt=cnt+1
    end if
    next