在考生文件夹下有工资数据库wage3,包括数据表文件:zg(仓库号C(4),职工号C(4),工资N(4))。设计一个名为tj的菜单,菜单中有两个菜单项“统计”和“退出”。 程序运行时,单击“统计”菜单项应完成下列操作:检索出工资小于或等于本仓库职工平

admin2009-02-15  29

问题 在考生文件夹下有工资数据库wage3,包括数据表文件:zg(仓库号C(4),职工号C(4),工资N(4))。设计一个名为tj的菜单,菜单中有两个菜单项“统计”和“退出”。
   程序运行时,单击“统计”菜单项应完成下列操作:检索出工资小于或等于本仓库职工平均工资的职工信息,并将这些职工信息按照仓库号升序,在仓库号相同的情况下再按职工号升序存放到empl(empl为自由表)文件中,该数据表文件和zg数据表文件具有相同的结构。
   单击“退出”菜单项,程序终止运行。
   (注意:相关数据表文件存在于考生文件夹下)

选项

答案在命令窗口输入命令:CREATE MENU tj,系统弹出一个“新建菜单”对话框,在对话框中单击“菜单”按钮,进入菜单设计器环境。根据题目要求,首先输入两个主菜单名称“统计”和“退出”,接着在“统计”菜单行的“结果”下拉框中选择“过程”选项(用于编写程序),在“退出”菜单行的“结果”下拉框中选择“命令”选项。 单击“统计”菜单行中的“编辑”按钮,进入程序设计的编辑窗口,在程序编辑窗口中输入如下程序段: **********“统计”菜单命令的程序设计********* SET TALK OFF SET SAFETY OFF OPEN DATABASE wage3 SELECT仓库号,AVG(工资)AS avggz; FROM zg; GROUP BY仓库号; INTO CURSOR curtable SELECT zg.仓库号,zg.职工号,zg.工资; FROM zg,curtable; WHERE zg.工资<=curtable.avggz; AND zg.仓库号=curtable.仓库号; ORDER BY zg.仓库号,职工号; INTO TABLE empl CLOSE ALL SET SAFETY ON SET TALK ON ********************************************** 在“退出”菜单项的“命令”文本框中编写程序代码:SET SYSMENU TO DEFAULT。 选择菜单命令“菜单”—“生成”,生成一个菜单文件tj.mpr。关闭设计窗口,在命令窗口输入命令: DO tj.mpr,看到Visual FoxPro的菜单栏被新建的菜单所代替,单击“退出”菜单命令将恢复系统菜单。 执行“统计”菜单命令后,系统自动生成新数据表文件empl.dbf用来保存查询结果。

解析 本大题考查的主要是利用SQL语句的进行分组计算查询,在本题应了解SQL中用于求平均值的函数AVG的使用;在菜单的设计过程中主要是注意两个菜单命令在“结果”下拉框中应选择的类型。
转载请注明原文地址:https://kaotiyun.com/show/7iKZ777K
0

最新回复(0)