在考生文件夹下有仓库数据库GZ3包括两个表文件: ZG(仓库号C(4),职工号C(4),工资N(4)) DGD(职工号C(4),供应商号C(4),订购单号C(4),订购日期D,总金额N(10)) 首先建立工资文件数据表:CJ3(职工号C(

admin2009-02-15  42

问题 在考生文件夹下有仓库数据库GZ3包括两个表文件:
   ZG(仓库号C(4),职工号C(4),工资N(4))
   DGD(职工号C(4),供应商号C(4),订购单号C(4),订购日期D,总金额N(10))
   首先建立工资文件数据表:CJ3(职工号C(4),工资N(4))
   设计一个名为YEWU3的菜单,菜单中有两个菜单项“查询”和“退出”。
    程序运行时,单击“查询”应完成下列操作:检索出与供应商S7,S4和S6都有业务联系的职工的职工号和工资,并存放到所建立的GJ3文件中。
   单击“退出”菜单项,程序终止运行。
   (注:相关数据表文件存在于考生文件夹下)

选项

答案第一步:利用莱单设计器定义两个菜单项,在菜单名称为“查询”的菜单项的结果列中选择“过程”,并通过单击“编辑”按钮打开一个窗口来添加“查询”菜单项要执行的命令。在菜单名称为“退出”的菜单项的结果列中选择“命令”,并在后面的“选项”列中输入以下退出菜单的命令:SET SYSMENU TO DEFAULT 第二步:在单击“计算”菜单项后面的“编辑”按钮所打开的窗口中添加如下的过程代码: SET TALK OFF &&在程序运行时关闭命令结果的显示 OPEN DATABASE GZ3 &&打开数据库文件GZ3 USE DGD &&打开表DGD CREATE TABLE GJ3(职工号C(4),工资N(4)) SELECT职工号FROM DGD WHERE供应商号IN("S4","S6","S7"): GROUP BY职工号; HAVING COUNT(DISTINCT供应商号)=3; INTO CURSOR Cur Table &&SELECT SQL语句中的GROUP BY子句可以用来指定结果集的组, &&要得到"供应商号"是"S4"、"S6"或"s7"的订购单,同时以订购单所在的职工员进行分组 &&并且保证每个分组里面供应商号有三个(也就是三个供应商都应有订购单);这样就得到了满 &&足条件的职工号,将返回的结果集放于一个临时表Cur Table中:INTO CURSOR Cur Table SELECT ZG.职工号,工资FROM ZG,Cur Table WHERE ZC.职工号=Cur Table.职工号: ORDER BY工资DESC; INTO ARRAY A Fields Value &&将生成的临时表与DGD表进行联接查询,便可以得到满足条件的职工号和工资 &&返回的结果集放入数组A Fields Value中:INTO ARRAY A Fields Value INSERT INTO GJS FROM ARRAY A fields Value &&在新建的表中追加记录 CLOSE ALL &&关闭打开的文件 SET TALK ON &&复命令结果的显示设置 第三步:以文件名YEWU3.MNX保存菜单源文件,并生成菜单,运行菜单。

解析
转载请注明原文地址:https://kaotiyun.com/show/3dKZ777K
0

相关试题推荐
最新回复(0)