在考生文件夹下,打开会员数据库cdb,完成如下综合应用: 建立文件名为form的表单,在表单中设计“统计”和“退出”两个按钮。要求如下: ①在“统计”按钮(Command1)中,编写程序,根据会员到统计时(系统当前时间)所购买商品的总金额(数

admin2013-03-31  32

问题 在考生文件夹下,打开会员数据库cdb,完成如下综合应用:
    建立文件名为form的表单,在表单中设计“统计”和“退出”两个按钮。要求如下:
   ①在“统计”按钮(Command1)中,编写程序,根据会员到统计时(系统当前时间)所购买商品的总金额(数量*单价),确定该会员为“金卡”、“银卡”、“铜卡”或“普通”会员,并将其写入会员表cus的“会员类型”字段中。
    金卡会员,总金额>=15000元。
    银卡会员,总金额<15000元AND>=10000元。
    铜卡会员,总金额<10000元AND>=5000元。
    普通会员,总金额<5000元
   ②单击“退出”按钮(Command2)时,关闭表单。
   ③表单设计完成后,运行表单,单击“统计”按钮进行统计,然后单击“退出”按钮关闭表单。

选项

答案步骤1:在命令窗口执行命令:CREATE FORM form,打开表单设计器新建表单。从“表单工具栏”中依次向表单添加两个命令按钮。 步骤2;在“属性”面板的下拉框中选择表单对象,在“全部”选项卡中修改对象属性值,见表2-36。 [*] 步骤3:双击命令按钮,编写各个命令按钮的Click事件代码。各按钮代码如下: *****“统计”按钮的Click事件代码***** CLOSE.ALL OPEN DATABASE CDB USE CUS IN O DO WHILE!EOF() SELECT SUM(数量*单价) AS 总金额 FROM CBC WHERE 会员号=CUS.会员号AND 日期<=DATE(); GROUP BY会员号; INTO ARRAY ZJE&&从CBC表中获得与CUS表当前所指记录“会员号”相同的会员到统计时(系统当前时间)所购商品的总金额(数量+单价),将该值保存到数组ZJE中DO CASE &&通过判断总金额数量,由REPLACE语句修改CUS表中“会员类型”的值CASE ZJE>=15000 REPLACE会员类型WITH"金卡会员" CASE ZJE<15000 AND ZJE>=1 0000 REPLACE会员类型WITH"银卡会员" CASE ZJE<10000 AND ZJE>=5000 REPLACE 会员类型WITH"铜卡会员" CASE ZJE<5000 REPLACE会员类型WITH"普通会员" ENDCASE SKIP &&转向CUS下一条记录进行处理 ENDDO *****“退出”按钮的Click事件代码***** THISFORM.RELEASE 步骤4:单击“常用”工具栏中的“运行”按钮运行表单,单击“统计”按钮查看结果,将表单文件保存到考生文件夹下。

解析 本题主要考查的是表单的建立、常用属性的设置、DO WHILE循环结构和SQL分组计算查询。
    对本题操作时,首先建立表单及其表单控件,并修改对象的属性值,然后对命令按钮编写事件代码。
    本题要根据cbc表中“数量”和“单价”字段信息来确定cus表中“会员类型”的值,需要同时使用这两张表。
基本解题思路是:
    以cus表为当前表,利用DO WHILE循环语句对cus表中的每条记录进行处理.通过SQL查询语句从cbc表中获得与cus表当前所指记录“会员号”相同的会员到统计时(系统当前时间)所购买商品的总金额(数量*单价),将该值保存到数组中,然后通过DO CASE结构对总金额的值进行判断,利用REPLACE命令修改cus表当前记录的“会员类型”的值。每处理完一条记录,记录指针便指向下一条记录,一直到处理完cus表中的所有记录。
    其中,总金额的计算使用SUM函数,将查询结果存放到数组中要使用INTO ARRAY短语。
转载请注明原文地址:https://kaotiyun.com/show/twsp777K
0

随机试题
最新回复(0)