问答题 (1)扩展Visual FoxPro基类Form,创建一个名为myForm的自定义表单类。自定义表单类保存在名为myclass1ib的类库中。自定义表单类myForm需满足以下要求: ①其AutoCenter属性的默认值为.T.。 ②其Closable属性的默认值为.F.。 ③当基于该自定义表单类创建表单时,自动包含一个命令按钮。该命令按钮的标题为“关闭”,当单击该命令按钮时,将关闭其所在的表单。 (2)利用查询设计器创建查询,从orders、orderitems和goods表中查询2007年签订的所有订单的信息。查询结果依次包含订单号、客户号、签订日期、总金额四项内容,其中“总金额”为该订单所签所有商品的金额(单价木数量)之和。各记录按“总金额”降序排序,“总金额”相同按“订单号”升序排序。查询去向为表tableone。最后将查询保存在queryone.qpr文件中,并运行该查询。
【正确答案】正确答案:(1) 步骤1:执行【文件】→【新建】菜单命令,打开“新建”对话框,在对话框中选中“类”,然后单击“新建文件”图标按钮,打开“新建类”对话框。 步骤2:在“类名”文本框中输入:myfonm,在派生于下拉框中选中“Fonm”,在“存储于”文本框中输入:myclass1ib,单击“确定”按钮。如图3.28所示。
【答案解析】解析:(1)本题考查的是类的建立,操作比较简单,注意派生类名和基类名的区别,另外,设置表单类的属性与在表单设计器中设置表单属性的方法是一样的。 (2)本题主要考查的是查询设计器的使用,首先要判断查询数据源包括哪些数据表,将数据表添加到查询设计器后,再根据题目要求从每个表中选取字段,设置查询条件等完成查询。本题操作时要注意3个表的添加顺序。由于这3个表是自由表,无法建立联系,所以需要我们自己根据两表之间的关联字段设置联接条件。通过分析可以得知,orders表和orderitems表通过“订单号”相连接,orderitems表和qoods表通过“商品号”相连接,所以应按照orders表、orderitems表和goods表的顺序进行添加,在添加的过程中可以设置两表之间的联接条件,否则会导致两个表之间无法建立联系,或是导致查询出错。另外,查询筛选条件为具体的年份值,因此只能通过YEAR()函数获得,应在“筛选”选项卡中选择“表达式”,然后在“表达式生成器”对话框中利用YEAR()函数取“Orders.签订日期”中的年份值,作为筛选条件的“字段名”。