| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 512 人关注过本帖
标题:请教库文件多条件查找并报表的问题
取消只看楼主 加入收藏
mxmsdqd
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-5-17
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
请教库文件多条件查找并报表的问题
现有一原料库(车间盘点),fildes:日期,品名,平方,单价,其中品名有重复数据,相同品名有相同单价的,也有不同单价的,要求报表时,统计时(例如统计本月库存)是从上月18日至本月18日为本月库存量,不同单价的相同原料要分开统计,我的程序结果总不是我想要的,想请教原因,谢谢大家!
附上源程序
command1.click
set safety off
set dele on
&&清空临时表
sele syjc_1  &&临时表1
go top
do while .t.
IF EOF()
      EXIT
   ENDIF
IF .not.EOF()
dele
endif
skip
loop
enddo
&&清空临时表
sele syjc  &&临时表2
go top
do while .t.
IF EOF()
      EXIT
   ENDIF
IF .not.EOF()
dele
endif
skip
loop
enddo

sele 车间盘点 &&原料库
go top
do while .not.eof()
loca for date() > ctod(str(year(date()))+"-"+str(thisform.text1.value-1)+"-"+str(18)).and.date() < ctod(str(year(date()))+"-"+str(thisform.text1.value)+"-"+str(19))
do while found()
&&找日期等于选择月份的记录,拷至syjc——1表

sele syjc_1
go bottom
appe blan
repl 品名 with 车间盘点.品名
repl 单价 with 车间盘点.单价
repl 平方 with 车间盘点.平方
repl 金额 with 车间盘点.金额
sele 车间盘点
continue
enddo
enddo

sele syjc_1&&向syjc表传送统计好的记录
js=0
go top
do while .not.eof()
js=js+1
if eof()
exit
endif
if .not.eof()
go js
endif
store 品名 to pm
store 平方 to pf
store 单价 to dj
store 金额 to je
sele syjc
go bottom
appe blan
repl 品名 with pm
repl 单价 with dj
repl 平方 with pf
repl 金额 with je
sele syjc_1
if .not.eof()
skip
loca for 品名=syjc.品名.and.单价=syjc.单价 rest
do while found()
sele syjc
repl 平方 with 平方+syjc_1.平方
repl 金额 with 金额+syjc_1.金额
sele syjc_1
dele
continue
enddo
endif
sele syjc_1
enddo
搜索更多相关主题的帖子: 源程序 统计 
2011-05-18 08:30
mxmsdqd
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-5-17
收藏
得分:0 
首先,谢谢go2011的回复,不过有些问题可能我需要解释一下
第一,为省事,这些数据表我都加到form的数据环境里了,不能用zap,我试过,因为不能独占
第二,查找条件为loca for date() > ctod(str(year(date()))+"-"+str(thisform.text1.value-1)+"-"+str(18)).and.date() < ctod(str(year(date()))+"-"+str(thisform.text1.value)+"-"+str(19))
就是text1输入月份,时间段是这个月减去一个月的18日之后到这个月19日之前的时间段。程序应该是验证通过了。
第三,syjc_1和syjc还有车间盘点的库结构完全一样,用这么多的目的是,我不大会用查询和视图,所以车间盘点符合记录的拷贝至syjc_1,不会破坏车间盘点库的数据,,再从syjc_1找相同品名,相同价格的数据拷贝至syjc,并且金额和平方数累加,相同品名不同价格的单独列出,再用syjc的库作为最终报表
思路大概是这样,请大家指教,谢谢!
2011-05-19 09:05
mxmsdqd
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-5-17
收藏
得分:0 
终于得到我想要的结果了,虽然最终的程序还是自己改好的,但还是要感谢go211的大力帮助,谢谢!
附通过的程序供参考(在字段内有日期字段)

set safety off
set dele on
&&清空临时表
sele syjc_1  &&临时表1
zap
sele syjc  &&临时表2
zap

sele 车间盘点 &&原料库
go top
set filter to date() > ctod(str(year(date()))+"-"+str(thisform.text1.value-1)+"-"+str(18)).and.date() < ctod(str(year(date()))+"-"+str(thisform.text1.value)+"-"+str(19))


&&将符合查找条件的记录拷至syjc_1表
sele syjc_1
appe from 车间盘点

&&向syjc表传送记录并进行统计
sele syjc_1
do while .t.
if eof()
exit
endif
go top
sele syjc
go bottom
appe blan
repl 品名 with syjc_1.品名
repl 单价 with syjc_1.单价
repl 平方 with syjc_1.平方
repl 金额 with syjc_1.金额
go bottom
sele syjc_1
dele
loca for 品名=syjc.品名.and.单价=syjc.单价
if found()
sele syjc
repl 平方 with 平方+syjc_1.平方,金额 with 金额+syjc_1.金额
sele syjc_1
dele
continue
endif
sele syjc_1
go top
loop
enddo

&&清空syjc_1
&&sele syjc_1
&&zap
sele 车间盘点
set filter to
2011-05-20 16:45
快速回复:请教库文件多条件查找并报表的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033113 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved