第1页共20页VFP上机考试之五章真经——考试知识点汇集说明:VFP上机考试由于年限已多,且每年两季共计16套试题,因此许多知识点已经是反复考察,因此将其中的比较常见的知识点列举给大家,希望能够给大家一些帮助。概述:上机考试时,监考发给你一张软盘和一张印有题目要求的试卷,按监考老师的提示在软盘上粘贴标签、写上姓名、准考证号等信息后,打开软盘,运行里面的一个“上机考试”文件,记住:此文件比较大,双击一次以后要等大约10秒才能弹出界面,这期间切忌不要再次双击打开,以免重复打开出错。第一章:项目、数据库和表操作一、项目管理器操作:1)添加文件首先分清楚文件的类型,然后将其添加到相应的条目下面(注意:选择不同类型的文件,则出现的文件不同)【例题】①将软盘根目录中的表文件gzb.dbf添加为test项目中的自由表。②将图标文件NET.ICO添加到项目中的合适位置。③将软盘中XS.TXT文件添加到项目中。2)设置项目信息给项目管理器加上作者信息、单位、附加图标等具体操作:在项目管理器上单击鼠标右键——选择“项目信息…”【例题】修改项目TEST的项目信息:附加图标NET.ICO第2页共20页3)删除文件利用项目管理器中的“移去”按钮操作,选择要操作的文件,点击“移去”按钮,出现一对话框(如图1所示):选择“移去”按钮,表示将文件从项目中移去,选择“删除”按钮,表示将文件从磁盘中删除。图1【例题】①利用项目管理器操作,将当前项目中所有的自由表移去并从磁盘上删除。②利用项目管理器操作:将数据库表XIM改为自由表,并将其添加到项目中。(说明:对于数据库表,“移去”是将数据库表从数据库中移出,变成自由表)注:以下4(4~7)个操作是:选择某要操作的文件后——单击鼠标右键——选择具体操作4)设置包含、排除将某个文件(比如某个表)的属性改为“包含”或“排除”5)设置编辑说明【例题】为js表添加编辑说明为“教师基本信息表”说明:设置好以后,将在项目管理器中的状态栏中的“说明:”中显示出来,可以以此来检查6)重命名【例题】利用项目管理器操作:将XIM表改名为XIMB表,并为其设置说明“系名表”。7)设置“主文件”在一个项目中,只能有一个主文件(即:第二次设置时前一次设置自动作废),显示时该项用粗体表示,并不是所有文件都可以设置成主文件,可以设置成主文件的文件类型:程序、表单、查询和菜单。第3页共20页【例题】把软盘根目录中的程序文件main.prg添加到TEST项目中的适当位置,并将该文件设置为项目的主文件。二、数据库表、自由表(自由表)表结构的修改(1~11)1)设置标题标题含义:该字段的字段名在浏览窗口中显示为设置的标题【例题】①将gz表中工作日期(gzrq)字段的标题设置为“工作日期”②设置国际标准图书编号(isbn)字段的标题属性,使该字段的字段名在浏览窗口中显示为“国际标准图书编号”。③设置cj字段的有关属性,使该字段的字段名在浏览窗口中显示为“百分制成绩”。2)设置长表名【例题】为表设置长表名:学生表。(注:设置后,在项目管理器等窗口中XS表的表名将显示为“学生表”)。3)字段宽度字段所容纳的最大的字符数。【例题】①修改jg字段的宽度,使之能容纳4位整数和2位小数(宽度为:7)②添加一个字符型字段,字段名为zzmm,其宽度以最多能存储字符串“中共党员”为准(宽度为:8)4)字段注释【例题】设置grsds字段的注释:基本工资1000元以上征税;5)字段有效性规则控制输入到字段中的数据的取值范围,该规则是一个逻辑表达式,且当前字段包含在该表达式中。如果结果为.F.,则拒第4页共20页绝所输入的字段值,并显示提示信息.(只要看题目中出现“字段”两个字,或出现具体某个字段名,就在“字段选项卡”,选择要操作的字段。)【例题】①设置kc表的xf字段有效性(验证)规则:大于等于0且小于等于6(答案:xf=0andxf=6)②设置rkrq字段的有效性规则,要求不超过当前系统日期。(答案:rkrqdate())③设置xb字段的有效性(验证)规则,要求性别必须为“男”或“女”;(答案:xb$”男女”)④设置kss字段的有效性(验证)信息:课时数范围为2~8(答案:kss=2andkss=8)字段有效性信息:【例题】设置将kc表的xf字段有效性(验证)信息:某一门课的学分不能大于6【答案】”某一门课的学分不能大于6”【记得要加英文引号】6)记录有效性(验证)规则可以校验多个字段之间的关系是否满足某种规则,该规则也是一个逻辑表达式.(看题目中出现“表”或“记录”的字,就在“表选项卡”操作。)【例题】①为js表设置有效性(验证)规则:工作日期(gzrq)与出生日期(csrq)之间至少相差20年【答案】Year(gzrq)-Year(csrq)=20②设置表的记录有效性规则,要求kss值比xf值大(注:对现有数据不验证此规则)。【答案】kssxf第5页共20页③设置GZ表的记录有效性(验证)规则:如果jbgz小于1000元,grsds的值为0,否则grsds的值为jbgz的5%(该规则对表中已有数据不作验证):【答案】grsds=iif(jbgz1000,0,jbgz*0.05)“该规则对表中已有数据不作验证”的操作:在设置完规则和信息后,点击“确定”按钮,则出现如右图,只需将复选框的“√”去掉。记录有效性(验证)信息:【例题】教师参加工作时至少20岁;【答案】”教师参加工作时至少20岁”【记得要加英文引号】5)默认值【例题】①为性别(xb)字段设置默认值为“男”【答案】‘男’【记得要加英文引号】②设置必修课(bxk)字段的默认值为逻辑真(.T.)③将xb的默认值设置为空值(Null)。【答案】.NULL.解说:很多同学为默认值的写法犯愁,到底要不要加引号或其它符号呢?其实默认值就是给这个字段赋值,赋值类型不同,写法当然不同,如.T.、‘男’、{^1980-11-13}等6)格式用于指定字段显示时的格式,是整个字段的格式。常考点:要求去掉前后空格:输入大写字母T,将字母转成大写显示(仅显示的时大写,实际上数据表里面仍然是小写):输入!第6页共20页7)输入掩码用于指定字段中输入数据的格式,是每个字符的格式。要求会计格式:999,999.99[表示六位整数位,用逗号做千分位,两位小数]【例题】①设置kcdh字段的InputMask属性,使该字段的值只能是数字字符。【答案】9999(kcdh字段的宽度为4,所以是4个9)8)显示类其作用是指定在使用“表单向导”生成表单或数据环境中将字段拖放到表单上时,与该字段相应的控件类。注意:要记住各个控件的英文名字。【例题】①设置bxk字段的有关属性,使得将该字段从表单的数据环境中拖放到表单上时,生成的相应控件为文本框控件。②设置册数(cs)字段的有关属性,使得将该字段从表单的数据环境中拖放到表单上时,生成的相应控件为微调框控件。9)添加字段,修改字段,删除字段等(略)10)触发器绑定在表上的逻辑表达式,是在插入、更新、删除记录时进行的检验规则。返回值为.T.时,允许执行相应操作,.F.时不允许执行相应操作。触发器文本框中写入“允许”执行该操作时候的条件【判断年份】为js表设置更新触发器:仅允许修改2001年(含)以后参加工作的教师记录Year(gzrq)=2001【字符型判断】为RK表设置插入触发器:工号为“A0001的记录允许插入,否则不允许插入gh=’A0001’【限制开头字母,告之不允许条件】为RK表设置插入触发器:工号以t第7页共20页或s开头的记录不允许插入NOT(left(gh,1)=’t’ORleft(gh,1)=’s’)题干中给出的是不允许条件,因此要在总的结果前面加上NOT,注意工号小写【不允许删除】为KC表设置删除触发器:不允许删除.F.(允许删除的条件永远不为真)【数字开头】已知数字0的ASCII码为48,9为57,为xs表设置插入触发器:学号必须以数字开头,否则不允许插入Between(ASC(xh),1),48,57)或ASC(xh)=48AndASC(xh)=57(只写允许时候的条件)【判断为空】工号为空允许删除Empty(gh)【判断长度】学号长度为6位Len(xh)=6【其它条件】教师表打开时候允许更新Used(“js”)11)索引表达式注意各种不同情况下的书写方法,分清楚索引名称(标识)和索引表达式【单个字段】按ylbx(养老保险)创建一个普通索引,标识名为ylbx,要求按ylbx降序排序【字符+数字】为gz表创建一个候选索引ghsfgz,要求按gh字段排序,gh相同再按sfgz排序索引标识为:ghsfgz表达式为gh+Str(sfgz)sfgz为数值型【字符+字符】为xs表创建普通索引xdhzydh,要求按xdh排序,xdh第8页共20页相同再按zydh排序索引标识为:xdhzydh表达式为xdh+zydh为什么不要加STR?【字符+日期】为xs表创建普通索引xdhcsrq,要求按xdh排序,xdh相同再按csrq排序索引标识为:xdhcsrq表达式为xdh+Dtoc(csrq,1)为什么要用,1【首字母+数值】为gz表创建普通索引ghsfgz,要求按gh排序,gh相同再按sfgz排序索引标识为:ghsfgz表达式为Left(gh,1)+STR(sfgz)【数值+数值】已知cj表中有两门课程成绩cj1和cj2,创建索引先按cj1排序,再按cj2排序表达式为STR(cj1)+STR(cj2)【数值+数值型】已知cj表中有两门课程成绩cj1和cj2,创建索引按总成绩排序表达式为cj1+cj2【其他】创建一个普通索引recsort,按物理记录顺序的倒序排序,即记录号为1的记录排最后。表达式为recno()排序:降序12)替换字段替换字段是最头疼的题,分值高(2分),每年必考(当题目中出现“修改”、“计算”、“调整”、“替换”或“填写╳╳字段的值”等,就为该题型)第9页共20页1、修改gzb表中所有记录的zfbt(住房补贴)字段的值,规则为:1998年(含1998年)以后参加工作的教师(注:gzrq字段为工作日期)其住房补贴为基本工资(jbgz)的19%,而其他教师没有住房补贴。打开gzc表,并浏览,选择“表”菜单里面的“替换字段”字段:jbgz替换为:zfbt*0.19(这里只写字段的新值,千万不要写成jbgz=zfbt*0.19带等号形式)作用范围:AllFor:Year(gzrq)=19982、修改gzc表中所有教授的记录,计算(医疗保险)ylbx,算法为:医疗保险为基本工资的19%答案字段:ylbx替换为:zfbt*0.19作用范围:All第10页共20页For:zc=‘教授’3、根据jg字段的值来填写jiguan字段的值:如果jg值为两个汉字,则加“市”,否则在前两个汉字后加“省”、最后加“市”。例如jg为“上海”,则jiguan为“上海市”;jg为“江苏南京”,则jiguan为“江苏省南京市”;jg为“江苏张家港”,则jiguan为“江苏省张家港市”,等等。答案字段:jiguan替换为:iif(len(allt(jg))=4,jg-”市”,left(jg,4)+”省”+substr(jg,5)-”市”)作用范围:All4、将GZ表中基本工资(jbgz)在1000元以上(包括1000元)记录的其他(qt字段清为零)。5、在JS表中更改所有教师记录的简历(jl),修改方法为:将gzrq转化为字符串,然后在字符串的前面加上“工作日期:”,且不管原来日期是哪一种显示格式,转化后的字符串格式都为yyyymmdd。如gzrq字段值为08/09/70,则更改以后该记录简历字段的值为“工作日期:19700809”。注意:很多限制条件隐含在题干中,请仔细看题说明:以上操作可以用命令(UPDATE—SQL或REPLACE)实现13)插入记录浏览表,“显示”—“追加新记录”14)删除记录删除记录分逻辑删除(作删除标记)和物理删除(彻底第11页共20页删除),具体操作为:打