建立一个表单,表单文件名和表单控件名均为myform_b,表单标题为“订单管理”,表单其他功能如下: ①表单中含有一个页框控件(PageFrame1)和一个“退出”命令按钮(Command1),单击“退出”命令按钮关闭并释放表单。 ②页框控

admin2013-03-31  26

问题 建立一个表单,表单文件名和表单控件名均为myform_b,表单标题为“订单管理”,表单其他功能如下:
    ①表单中含有一个页框控件(PageFrame1)和一个“退出”命令按钮(Command1),单击“退出”命令按钮关闭并释放表单。
    ②页框控件(PageFrame1)中含有3个页面,每个页面都通过一个表格控件显示有关信息:
    第一个页面Page1上的标题为“职工”,其上的表格控件名为grdEmployee,显示表employee中的内容。
    第二个页面Page2上的标题为“订单”,其上的表格控件名为grdOrders,显示表orders中的内容。
    第三个页面Page3上的标题为“职工订单金额”,其上的表格控件名为Grid1,该表格中显示每个职工的职工号、姓名及其所经手的订单总金额(注:表格只有3列,第1列为“职工号”,第2列为“姓名”,第3列为“总金额”)。

选项

答案步骤1:在命令窗口执行命令:OPEN DATABASE orders_manage,打开“orders_manage”数据库。 步骤2:在命令窗口执行命令:CREATE FORM myform_b,打开表单设计器新建表单。 步骤3:从“表单工具栏”中依次向表单添加一个命令按钮和一个页框控件。在“属性”面板的下拉框中选择表单对象,在“全部”选项卡中修改对象属性值,见表2-9。 [*] 步骤4:右击表单选择【数据环境】快捷菜单命令打开表单数据环境,继续在表单数据环境中单击右键选择【添加】快捷菜单命令,在“添加表或视图”对话框中依次双击employee表和orders表,将其添加到数据环境中,两者之间的关联也会自动添加其中,选中两个表之间的关联线(被选中的线会变粗),然后按Delete键,删除该关联。 步骤5:右击“页框”控件,选择【编辑】快捷菜单命令,让页框处于编辑状态,再将数据环境中的employee表和orders表分别拖到“职工”和“订单”页面中(注意:操作过程中,当独立的页面被选中时,页框处于编辑状态,在页框四周会出现蓝色边框,如图2-29所示;另外,表单设计器窗口应为“还原”状态,而非最大化窗口,否则将遮盖表单数据环境内容,无法将表拖到页面中)。这时,在“职工”和“订单”页面中会分别自动生成表格grdEmployee和grdOrders。 [*] 步骤6:接步骤5,当页框处于编辑状态时,选择“职工订单金额”页面,在其中添加一个表格控件grid1,在“属性”面板中修改表格grid1的属性值,见表2-9。 步骤7:双击表单,编写表单的Init事件代码: THISFORM.PAGEFRAME1.PAGE3.GRID1.RECORDSOURCE="; SELECT Employee.职工号,Employee.姓名,SUM(Orders.金额)总金额; FROM orders_manage!employee INNER JOIN orders_manage!orders; ON Employee.职工号=Orders.职工号; GROUP BY Employee.职工号; INTO CURSOR temp" (注意:以上SQL语句的查询语句部分是通过查询设计器生成。) 步骤8:双击命令按钮,编写命令按钮的Click事件代码:THISFORM.RELEASE。 步骤9:单击“常用”工具栏中的“运行”按钮运行表单。

解析 本题主要考查了表单及控件的常用属性的设置;SQL分组计算查询;表单数据环境。
  通过拖放表单数据环境中的表到表单中,可快速建立表格及表格与数据表的联系,要注意的是在向每个页面中添加表格数据对象时,一定要注意页面处于编辑状态下(每个页面都可单独选定,将表从数据环境中拖放到要求的页面中),否则添加的表格对象只是停留在页框上方,该表格实际是包含在表单中而非添加到页框的页面中。控制页框中页面数的属性为PageCount。
    本题要注意的是,由于在数据库中employee表和orders表已经建立了永久联系,所以当将这两张表添加到数据环境中时,二者之间会自动产生一个相应的关联(临时联系),这样,当运行表单后,orders表中的记录就会随着employee表中当前记录的改变而改变,即orders表中始终显示的不是整个orders表的内容,而只是显示employee表中当前记录在orders表中对应的记录。而题中要求在“订单”页面显示orders表的内容,故应该在数据环境中将两张表的关联删除。
    第三个页面的表格中显示的内容需要用SQL查询语句完成,可以将表格grid1的表格数据来源属性RecordSourceType设置为“4-SQL”,而对应的数据来源RecordSource可以在表单的Init事件中通过SQL语句来指定。
转载请注明原文地址:https://jikaoti.com/ti/4wZ0FFFM
0

最新回复(0)