江苏省高校计算机等级考试命题研究院 江苏省高校计算机等级考试辅导
2001年秋VFP上机卷部分疑难操作答案

2001年秋VFP上机卷部分疑难操作答案

***试卷VFP01

项目与数据库操作

1.(3)出生日期的年份必须在1985年之前:

year(csrq)<=1985(用这种形式是包括1985年,因为试题中含有1985年的记录)

year(csrq)< 1985 (用这种形式不包括1985年,在确定时,把对话框中的勾去掉,即不用此规则对照表中现有记录)

3.  将性别字段的“男”、“女”分别改为“01”、“02

在“表”菜单中选择替换字段,然后按如下设置:

或在命令窗口中输入:repl all xb with “01” for xb=

repl all xb with “02” for xb=

查询

1chaxuna:  查询籍贯为非江苏的学生,在筛选中进行如下设置:

字段名

条件

实例

xs.jg

=

“江苏”


2.  chaxunb:
做好后,运行一下,其结果得从“显示”菜单的“浏览tmp”中来看。

菜单

2 “学生信息”菜单项的过程代码是:

use xs.dbf

     browse

表单

2 基本工资的显示格式:在基本工资文本框的InputMask属性中输入:999,999.99

3.  其实这里指的就是热键:在命令按Caption属性中加上(\)就可以了。

   5 “新增”按钮的代码是:

append blank

thisform.refresh

   6 工龄文本框的校验代码:

if !between(this.value,1,50)

       wait window "数据输入不合法!"

       return 0

endif

**** 试卷VFP02

项目与数据库操作:

  1.(5XS表的删除触发器: 这题的表达式比较复杂,如果想确切表达的话,应该是:

year(date())-val(iif(left(xh,1)=0,“20”,19)+left(xh,2))>5

如果不严格的话,可以简化成: year(date())-val(19 +left(xh,2))>5

  3 这题与第一套试卷类似:

 repl all xh with “19”+xh  for left(xh,1)=”9”

repl all xh with “20”+xh  for left(xh,1)=”0”

菜单

  3. “统计学生人数”的过程代码是:

public x

use xs.dbf

x=str(reccount())

wait window x

  4. “退出”菜单的代码是:set sysmenu to defa

表单

 4LIST1DblClick事件代码:

Thisform.LIST2.ADDLISTITEM(Thisform.LIST1.VALUE)

Thisform.LIST1.REMOVELISTITEM(Thisform.LIST1.LISTITEMID)

 5LIST2DblClick事件代码:

Thisform.LIST1.ADDLISTITEM(Thisform.LIST2.VALUE)

Thisform.LIST2.REMOVELISTITEM(Thisform.LIST2.LISTITEMID)

 6>”按中增加的代码

IF Thisform.LIST1.LISTCOUNT=0

   This.ENABLED= .f.

ENDIF

<”按中增加的代码

IF Thisform.LIST2.LISTCOUNT=0

   This.ENABLED= .f.

ENDIF

 

**** 试卷VFP03

和前两份试卷基本相同。

 

**** 试卷VFP04

查询

2 其中的孤立记录用右连接,在筛选中进行如下设置(“条件”中可以用 = in )

字段名

条件

实例

Cj.xh

in

Xs.xh


    
并在“杂项”中把“无重复记录”勾上。

表单

5.“确定”按的代码(试卷中已给了答案):

IF EMPTY(Thisform.Text1.Value)

   SET FILTER TO

ELSE

   SET FILTER TO XH=ALLT(Thisform.Text1.Value)

ENDIF  

Thisform.Refresh()

6.在表格第一列的Header1DblClick事件中的代码:

set order to xsxh

thisform.refresh

 

*** 试卷VFP05   试卷VFP06

与前面的基本相同。

 

*** 试卷VFP07

一. 项目与数据库

 1.(2)在表的验证规则中写:iif(xf>=3,bxk=.t.,bxk=.f.)

注意:点确定按时把对话框中的勾去掉。

3 和前面的类似,但要注意:

repl all kcm with alltrim(kcm)+”*” for bxk=.t.

查询

1.    输出字段为: left(xs.xm,2)  as  姓氏

                 conut(*)  as 人数

分组条件是姓氏, 排序条件两个: 人数  姓氏

在“杂项”中把“全部”前面的勾去掉,在下面的微调框里选择10

2.    输出字段为: int(cj/10)*10  as 分数段

                  conut(cj.cj)  as 人数

筛选条件是: xs.zydh=”110002  and  cj.kcdh=”01”

分组条件是: 分数段

排序条件是: 分数段

表单

1.组合框的RowSourseType为字段

3.选中表格,将ScrollBar属性改为2——垂直

4.表格的Init事件代码:this.column5.dynamicforeColor="iif(cj.cj<60,rgb(255,0,0),rgb(0,23,0))"

5.“计算”按的代码:

sele cj

count to a1 for cj>=90

count to a2 for cj<90.and.cj>=80

count to a3 for cj<60

thisform.text1.value=a1

thisform.text2.value=a2

thisform.text3.value=a3