| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 999 人关注过本帖
标题:求助:关于表单grid1浏览显示的问题~
只看楼主 加入收藏
小冠冠0000
Rank: 1
来 自:广州
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-10-7
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
求助:关于表单grid1浏览显示的问题~
我要在表单中显示两张不同的表数据~~
两张是清单.dbf,另两张是汇总.dbf
编程如下:
xm=
do case
case  thisform.optiongroup2.value=1

do case
case  thisform.optiongroup1.value=1
y=val()
ymd="year(销售日期)=y  and  c.名称=xm"

case  thisform.optiongroup1.value=2
y=val()
m=val()
ymd="year(销售日期)=y and month(销售日期)=m"

case  thisform.optiongroup1.value=3
y=val()
m=val()
d=val()
ymd=" year(销售日期)=y and month(销售日期)=m  and day(销售日期)=d"
endcase
select c.名称 as "名称",b.名称 as "商品", a.数量 as "数量",a.单价 as "单价",a.折扣 as "折扣", a.数量*a.单价*a.折扣 as "金额" ;
from 销售 a,商品 b,经销商 c ;
 where  a.经销商=c.编号  and a.商品编码= b.编码 and  c.名称=xm  and  &ymd into dbf  cur清单

thisform.grid1.recordsource="cur清单"
thisform.grid1.recordsourcetype=1
thisform.grid1.columncount=6
with thisform.grid1
     .column1.header1.caption="名称"
     .column2.header1.caption="商品"
     .column3.header1.caption="数量"        
     .column4.header1.caption="单价"
     .column5.header1.caption="折扣"
     .column6.header1.caption="金额"
     .column1.width=60
     .column2.width=100
     .column3.width=30
     .column4.width=50
     .column5.width=30
     .column6.width=90   
endwith

 thisform.grid1.refresh
 
case  thisform.optiongroup2.value=2

do case
case  thisform.optiongroup1.value=1
y=val()
ymd0=int(y)
ymd="year(销售日期)=y "

case  thisform.optiongroup1.value=2
y=val()
m=val()
ymd0=
ymd="year(销售日期)=y and month(销售日期)=m "


case  thisform.optiongroup1.value=3
y=val()
m=val()
d=val()
ymd0=
ymd="year(销售日期)=y and month(销售日期)=m  and day(销售日期)=d"
endcase

select c.名称 as "名称", ymd0 as "日期", sum(a.数量*a.单价*a.折扣) as "汇总金额"    ;
from 销售 a,商品 b,经销商 c ;
 where  a.经销商=c.编号  and a.商品编码= b.编码 and &ymd and  c.名称=xm  into dbf  cur汇总

thisform.grid2.recordsource="cur汇总"
thisform.grid2.recordsourcetype=1
thisform.grid2.columncount=3
with thisform.grid2
     .column1.header1.caption="名称"
     .column2.header1.caption="日期"
     .column3.header1.caption="汇总金额"
     .column1.width=60
     .column2.width=70
     .column3.width=90
        
     endwith
thisform.grid2.refresh
case thisform.optiongroup2.value=3
do case
case  thisform.optiongroup1.value=1
y=val()
ymd="year(销售日期)=y "

case  thisform.optiongroup1.value=2
y=val()
m=val()
ymd="year(销售日期)=y and month(销售日期)=m"

case  thisform.optiongroup1.value=3
y=val()
m=val()
d=val()
ymd=" year(销售日期)=y and month(销售日期)=m  and day(销售日期)=d"
endcase

select c.名称 as "名称",b.名称 as "商品", a.数量 as "数量",a.单价 as "单价",a.折扣 as "折扣", a.数量*a.单价*a.折扣 as "金额" ;
from 销售 a,商品 b,经销商 c ;
 where  a.经销商=c.编号  and a.商品编码= b.编码  and  &ymd into dbf  cur清单 order by c.名称
thisform.grid1.recordsource="cur清单"
thisform.grid1.recordsourcetype=1
thisform.grid1.columncount=6
with thisform.grid1
     .column1.header1.caption="名称"
     .column2.header1.caption="商品"
     .column3.header1.caption="数量"        
     .column4.header1.caption="单价"
     .column5.header1.caption="折扣"
     .column6.header1.caption="金额"   
     .column1.width=60
     .column2.width=100
     .column3.width=30
     .column4.width=50
     .column5.width=30
     .column6.width=90   
endwith
thisform.grid1.refresh
case thisform.optiongroup2.value=4
do case
case  thisform.optiongroup1.value=1
y=val()
ymd0=int(y)
ymd="year(销售日期)=y "

case  thisform.optiongroup1.value=2
y=val()
m=val()
ymd0=
ymd="year(销售日期)=y and month(销售日期)=m "


case  thisform.optiongroup1.value=3
y=val()
m=val()
d=val()
ymd0=
ymd="year(销售日期)=y and month(销售日期)=m  and day(销售日期)=d"
endcase

select c.名称 as "名称", ymd0 as "日期", sum(a.数量*a.单价*a.折扣) as "汇总金额"    ;
from 销售 a,商品 b,经销商 c ;
 where  a.经销商=c.编号  and a.商品编码= b.编码 and &ymd group by c.名称 into dbf  cur汇总

thisform.grid1.recordsource="cur汇总"
thisform.grid1.recordsourcetype=1
thisform.grid1.columncount=3
with thisform.grid1
     .column1.header1.caption="名称"
     .column2.header1.caption="日期"
     .column3.header1.caption="汇总金额"  
     .column1.width=60
     .column2.width=70
     .column3.width=90
              
     endwith
thisform.grid1.refresh
endcase





thisform.refresh
但在显示完汇总表后,再想显示清单表时,有部分数据只有列标题,下面没有数据,要从新建立多次才能显示全部数据,这是为什么
啊?
搜索更多相关主题的帖子: 浏览 表单 
2009-10-07 19:08
茵梦湖
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:31
帖 子:545
专家分:2180
注 册:2009-4-25
收藏
得分:0 
第一行代码改为:

xm=
do case
case thisform.optiongroup2.value=1
2009-10-07 21:50
小冠冠0000
Rank: 1
来 自:广州
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-10-7
收藏
得分:0 
回复 2楼 茵梦湖
试了~~不行啊~~~不过还是谢谢了~~(*^__^*) 嘻嘻……
2009-10-07 22:05
小冠冠0000
Rank: 1
来 自:广州
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-10-7
收藏
得分:0 
回复 3楼 小冠冠0000
我是汇总表的数据能够全部显示~但立刻再按建立清单表的数据就不能完全显示啊~
立刻再刷一次清单表又可以了····真是奇怪啊~~

[ 本帖最后由 小冠冠0000 于 2009-10-7 22:14 编辑 ]
2009-10-07 22:08
茵梦湖
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:31
帖 子:545
专家分:2180
注 册:2009-4-25
收藏
得分:20 
你在几个"select ... from .. where ..." 后面, 用brow测试一下 是否有记录, 再判断是grid方面的问题, 还是where条件表达式的问题~~~我没有测试过, 粗看代码, 总觉得 "xm= 和"c.名称=xm" 这里有问题~~~

select c.名称 as "名称",b.名称 as "商品", a.数量 as "数量",a.单价 as "单价",a.折扣 as "折扣", a.数量*a.单价*a.折扣 as "金额" ;
from 销售 a,商品 b,经销商 c ;
where  a.经销商=c.编号  and a.商品编码= b.编码 and  c.名称=xm  and  &ymd into dbf  cur清单
brow  && 这里加brow, 检查 where条件下, 是否有记录
2009-10-08 23:20
小冠冠0000
Rank: 1
来 自:广州
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-10-7
收藏
得分:0 
回复 5楼 茵梦湖
我的问题是where能找到记录,而且记录已经显示在grid1中,但是是每条记录的后几列的数据没显示,从新刷新一次又可以显示了~~~
我的表单还有打印预览的功能,在记录没有完全显示的情况下预览,报表中的数据是齐全的,没有错漏,证明数据已经被查出,并写入表中,但是在grid1中无法显示齐全啊~~~
2009-10-11 13:09
快速回复:求助:关于表单grid1浏览显示的问题~
数据加载中...
 
   



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

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