建立一个文件名和表单名均为myform的表单文件,表单上有;表格控件grid1(RecordSourceType属性手工设置为“别名”),文本框控件Text1,命令按钮控件Command1(文本为“确定”)。 程序运行时在文本框中输入“部门名”,然

admin2010-12-13  59

问题 建立一个文件名和表单名均为myform的表单文件,表单上有;表格控件grid1(RecordSourceType属性手工设置为“别名”),文本框控件Text1,命令按钮控件Command1(文本为“确定”)。
    程序运行时在文本框中输入“部门名”,然后单击“确定”命令按钮计算该部门各年度的“销售额”(合计)和“利润”(合计)(利润为“销售额-工资额”),按“年度”升序将结果(含“年度”、“销售额”和“利润”3个字段)保存在以“部门名”命名的dbf文件的同时,在Grid1控件中显示计算的结果。如图1-18所示。

    要求:程序完成后必须运行,并分别计算“笔记本产品部”和“计算机产品部”按年度的销售额和利润情况。

选项

答案步骤1:在命令窗口执行命令:CREATE FORMmyform,打开表单设计器新建表单。从“表单控件”工具栏中依次向表单添加一个文本框、一个表格和一个命令按钮控件。 步骤2:在“属性”面板的下拉框中选择表单对象,在“全部”选项卡中修改对象属性值,见表2-21。 [*] 步骤3:双击“确定”命令按钮(Command1)编写Click事件代码。 *****“确定”按钮的Click事件代码***** BM=ALLTRIM(THISFORM.TEXT1.VALUE) SELECT Sell.年度,SUM(Sell.销售额) AS销售额,; SUM(Sell.销售额- Sell.工资额) AS利润; FROM TEST_DB!Dept INNER JOIN TEST_DB!Sell; ON Dept.部门号=Sell.部门号; WHERE Dept.部门名=BM; GROUP BY Sell.年度; ORDER BY Sell.年度; INTO TABLE &BM THISFORM.GRID1.RECORDSOURCE=BM 步骤4:单击“常用”工具栏中的“运行”按钮运行表单,并生成“笔记本产品部”和“计算机产品部”两个表,将表单文件保存到考生文件夹下。

解析 本大题考查了表单及控件的常用属性和方法的设置;SQL分组与计算查询。
    由于本题限制了表格的数据源类型为“1-别名”,因此,可以先将查询结果输出到表中,然后再通过表格的RecordSource属性指定数据源,完成表格数据的显示。
    本题关键是SQL查询语句中怎样将文本框中显示的“部门名”命名为表名,由于文本框中的数据是随时变化的,因此不能利用一个常量来指定查询输出的表名。解决此问题的方法就是先定义一个变量等于文本框中的数据,然后使用宏替换函数(&)将变量值替换出来,即使文本框的值无论怎样改变,替换出来的数据都是当前文本框显示的值。
    另外,本题可利用SUM() 函数进行计算,利用 GROUPBY短语分组,ORDER BY短语排序,进行联接查询的两个表是Dept表和Sell表,联接字段为“部门号”。
转载请注明原文地址:https://kaotiyun.com/show/44zp777K
0

最新回复(0)