2,749
社区成员
发帖
与我相关
我的任务
分享Create Cursor A表 (日期 D,主单号 C(10),品名 C(10),备注 C(10))
Insert Into A表 Values ({^2011-10-11},'111','打火机','ABC')
Insert Into A表 Values ({^2011-10-12},'123','鞋子','HHH')
Insert Into A表 Values ({^2011-10-12},'123','裤子','RRR')
Insert Into A表 Values ({^2011-10-13},'222','火柴','EEE')
Insert Into A表 Values ({^2011-10-13},'333','眼镜','QQQ')
Insert Into A表 Values ({^2011-10-13},'333','被子','WWW')
Insert Into A表 Values ({^2011-10-13},'333','桌子','LLL')
*-- 上面生成测试数据
*-- 下面是你需要的代码
Select * Into Table B表 From A表 && Order By 日期,主单号
Select B表
lcZDH=Alltrim(主单号)
Scan
If Alltrim(主单号)<>lcZDH
Insert Before Blank
Skip
Endif
lcZDH=Alltrim(主单号)
Endscan
Browse && 看一下结果Create Cursor A表 (日期 D,主单号 C(10),品名 C(10),备注 C(10),重量 N(10,2),体积 N(10,2))
Insert Into A表 Values ({^2011-10-11},'111','打火机','ABC',10.1,0.5)
Insert Into A表 Values ({^2011-10-12},'123','鞋子','HHH',200,2)
Insert Into A表 Values ({^2011-10-12},'123','裤子','RRR',180,1.9)
Insert Into A表 Values ({^2011-10-13},'','火柴','FFF',15,0.5)
Insert Into A表 Values ({^2011-10-13},'','被子','KKK',1400,10.5)
Insert Into A表 Values ({^2011-10-13},'222','火柴','EEE',12.28,0.48)
Insert Into A表 Values ({^2011-10-13},'333','眼镜','QQQ',15,0.9)
Insert Into A表 Values ({^2011-10-13},'333','被子','WWW',808.45,4.34)
Insert Into A表 Values ({^2011-10-13},'333','桌子','LLL',2500,9)
Browse && 看一下 A表 原数据
*-- 上面生成测试数据
*-- 下面是你需要的代码
Select * Into Table B表 From A表 && Order By 日期,主单号
Update B表 Set 主单号='*'+Transform(Recno()) Where Empty(主单号)
Select B表
Locate
lcZDH=Alltrim(主单号)
Store 0 To lnZL,lnTJ
Scan
If !Alltrim(主单号)==lcZDH
Skip -1
If Left(主单号,1)='*' Or (重量=lnZL And 体积=lnTJ)
*Replace 主单号 With ''
Insert Blank
Else
Insert Blank
Replace 重量 With lnZL,体积 With lnTJ
Endif
Store 0 To lnZL,lnTJ
Skip 1
Endif
lcZDH=Alltrim(主单号)
If Empty(主单号)
Store 0 To lnZL,lnTJ
Else
lnZL=lnZL+重量
lnTJ=lnTJ+体积
Endif
Endscan
Insert Blank
Replace 重量 With lnZL,体积 With lnTJ
Update B表 Set 主单号='' Where Left(主单号,1)='*'
Locate
Browse && 看一下 B表 数据结果