VFP 设计问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 19:16:44
在做影院票务设计

text1中有个起始查询日期 text2中有个终止查询日期

我想将这段日期内,每部影片所卖出的票数以及总金额收入进行统计,按影片名称列出显示在GRID中。

建立好了座位表,其中有售票状态(售票)来统计卖出的票数;
还有放映信息表,其中有每部影片设定的票价,偷懒,每部影片票价是相同的- -。

想问下怎么实现??

你没有详细介绍你的表结构。我按照我的理解进行一下设定。
1、放映信息表中有电影名称、影片票价、电影编号字段,其中电影编号字段为主键。
2、我理解为你的座位表就是指售票明细表,售出的座位才记录。有电影编号、座位号、销售时间字段。

thisform.grid1.RecordSource="" &&先将grid1的数据源设为空

SELECT MIN(放映信息表.电影名称) as 电影名称,;
COUNT(座位表.电影编号) as 售出次数,;
COUNT(座位表.电影编号)*MIN(放映信息表.影片票价) as 总收入 ;
FROM 放映信息表 left join 座位表 on 放映信息表.电影编号=座位表.电影编号 ;
WHERE 座位表.销售时间>=thisform.text1.value ;
AND 座位表.销售时间<=thisform.text2.value ;
GROUP BY 放映信息表.电影编号 INTO CURSOR 收入情况 &&查询语句

thisform.grid1.RecordSource="收入情况" &&将grid1的数据源设为刚查出来的表

thisform.grid1.refresh() &&刷新显示

如果座位表里不管售出没有都有记录,单独有个字段表示是否售出,比如字段叫"售出",逻辑型。就将查询语句改成以下
SELECT MIN(放映信息表.电影名称) as 电影名称,;
COUNT(座位表.电影编号) as 售出次数,;
COUNT(座位表.电影编号)*MIN(放映信息表.影片票价) as 总收入 ;
FROM 放映信息表 left join 座位表 on 放映信息表.电影编号=座位表.电影编号 ;
WHERE 座位表.销售时间>=thisform.text1.value ;
AND 座位表.销售时间<=thisform.text2.value ;
AND