VFP解题捷径教学课件_第1页
VFP解题捷径教学课件_第2页
VFP解题捷径教学课件_第3页
VFP解题捷径教学课件_第4页
VFP解题捷径教学课件_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VFP解题捷径VFP解题捷径VFP解题捷径第3套一3.一、基本操作题3.用SQL命令向SCORE1表插入一条记录:学号为"993503433"、课程号为"0001"、成绩是99。【捷径】(用“数据工作期”)打开表,点“浏览”选菜单“显示”/“追加方式”直接输入记录SQL命令保存在哪?第4套三、【捷径】(1)用查询设计器select*fromBOOKSintotableBOOKSBAK(2)(用“数据工作期”)打开BOOKSBAK表,点“浏览”。把书名不含“计算机”的记录加删除记号。点菜单“表”/“彻底删除”(3)选菜单“表”/“替换字段”(降价5%)(3)用查询设计器得到新表newtable,直接修改(1)首先将BOOKS.DBF中所有书名中含有"计算机"3个字的图书复制到表BOOKSBAK中,以下操作均在BOOKSBAK表中完成;复制后的图书价格在原价格基础上降价5%;从图书均价高于25元(含25)的出版社中,查询并显示图书均价最低的出版社名称以及均价,查询结果保存在表newtable中(字段名为出版单位和均价)。第14套【捷径】对照score1和course中的课程号,手工删除两个表有相同课程号的记录用查询设计器:

SELECT课程名,开课单位FROMcourse;

ORDERBY课程名INTOTABLEnew_table2忽略最难步骤二、2.在SCORE_MANAGER数据库中查询没有学生选修的课程,查询结果含"课程名"和"开课单位"字段,结果按课程名升序保存在一个新表NEW_TABLE2中(注意:字段名"开课单位"是在基本操作中根据"开课系部"修改后的字段名)。避繁就简学号课程号成绩9935034380001929935034380002869935034370001879935034380005809935034330009749935034330010669935011220004569935011220007859935022350006779935022350001639935034120009959935061120010849935042280005579935042280002889935112360005749935112360007649935032340004879935011220001459935022350009509935022350005

9935011220009

课程号课程名开课单位

学时数学分开课学期0001基础会计会计系36210004唐诗鉴赏中文系18110002管理学经管系54310003法学原理法律系36210006信息管理信息系72420005财务管理财政系54310007美学基础中文系36210008体育体育组36240009审计学会计系72420010科技概论政教组36210011数据库原理信息系54330012运筹学信息系5433score1course第14套表42表文件(不运行)第42套三、设置"查询"命令按钮的Click的事件代码,其功能是:根据文本框Text1中的输入日期,查询各会员在指定日期后(大于等于指定日期)签订的各商品总金额,查询结果的字段包括"会员号"(来自Customer表)、"姓名"和"总金额"三项,其中"总金额"为各商品的数量(来自Orderitem表)乘以单价(来自Article表)的总和;查询结果的各记录按总金额升序排序;查询结果存放到表dbfa.dbf中。将文本框的Value属性值设置为"=date()"。⑤设置"查询"按钮的Click事件代码:SELECTCustomer.会员号,姓名,sum(数量*单价)as总金额;FROMcustomer,orderitem,article;WHEREArticle.商品号=Orderitem.商品号AND;

Customer.会员号=Orderitem.会员号AND;日期>=ctod(thisform.Text1.Text)ORDERBY3;

GROUPBYCustomer.会员号INTOTABLEdbfa.dbf【捷径】题目没给具体日期,不需要得到表,可以任取一个日期作为条件,用查询设计器50二表文件(不运行)第50套二、2.单击命令按钮可以查询在文本框中输入的指定客户的所有订单的信息,查询结果依次包含订单号、签订日期、商品名、单价和数量等五项内容。各记录按订单号升序排序;订单号相同按商品名升序排序,并将查询结果存放在表tabletwo中。【用设计器后修改】SELECTOrder.订单号,签订日期,商品名,单价,数量;FROMorderJOINorderitemJOINgoods;ONOrderitem.商品号=Goods.商品号;ONOrder.订单号=Orderitem.订单号;WHERE客户名=thisform.Text1.Text;ORDERBYOrder.订单号,商品名;INTOTABLEtabletwo.dbf

【捷径】题目没给具体客户名

,不需要得到表,可以任取一个客户名作为条件,用查询设计器73三表文件(不运行)第73套三、单击列表框中的数据项时,统计选修了所选课程的学生人数(从"考试成绩"表),并将结果存储在以课程名命名的表中,表中只有一个字段"人数";【答案】③列表框List1的属性设置如下:对象 属性 属性值

List1 ROWSOURCE 课程.课程名

List1 ROWSOURCETYPE 6-字段

④设置"list1"列表框的Click事件代码:selectcount(dist学号)as人数from课程join考试成绩;on课程.课程编号=考试成绩.课程编号where;课程名=thisform.list1.list(thisform.list1.listindex);intotablthisform.list1.list(thisform.list1.listindex)【捷径】题目没给具体课程名,不需要得到表,可以任取一个课程名作为条件,用查询设计器1三表文件(要运行)第1套三运行表单时,在文本框中输入工程号,单击“查询”命令按钮后,表格控件(名称grid1)中显示相应工程所使用的零件的零件名、颜色和重量(通过设置有关“数据”属性实现),并将结果按“零件名”升序排列存储到pp.dbf文件。单击“退出”按钮关闭表单。完成表单设计后运行表单,并查询工程号为“J4”的相应信息。表格Name属性"grid1",RecordSourceType属性"0-表"。3.在Command1按钮的Click事件中输入:select零件名,颜色,重量from零件join供应;on零件.零件号=供应.零件号where工程号=;

alltrim(thisform.text1.value)orderby零件.零件名;intotablepp.dbfthisform.grid1.recordsource="pp"【捷径】题目给出具体工程号,并要求运行得到表,以工程号“J4”作为条件,用查询设计器做好后运行。5三表文件(要运行)第5套三、在文本框text1中输入某人的姓名,然后单击"查询",则在表格控件Grid1中会显示出他所持有的全部"外币名称"及对应的"人民币数量",并按人民币数量降序排序,同时将结果存储到自由表DBFA中。查询“林诗因”的外币市值情况。select外币名称,现钞买入价*持有数量as人民币数量;fromcurrency_sljoinrate_exchange;oncurrency_sl.外币代码=rate_exchange.外币代码;where姓名=alltrim(thisform.text1.value);orderby人民币数量descintotableDBFAthisform.grid1.recordsource="DBFA"【捷径】题目给出具体姓名,并要求运行得到表,以姓名“林诗因”作为条件,用查询设计器做好后运行。45表文件(要运行)第45套二1.设置"查询"按钮的Click事件代码,使得表单运行时单击该按钮能够完成如下查询功能:从customers表中查询指定日期以后出生的客户,查询结果依次包含姓名、性别、出生日期三项内容,各记录按出生日期降序排序,查询去向为表tableone。最后运行该表单,查询1980年1月1日以后出生的客户。设置文本框的Value属性值为表达式Date()

SELECT姓名,性别,出生日期FROMcustomersWHERE出生日期>=ctod(thisform.Text1.Text);ORDERBY出生日期DESCINTOTABLEtableone.dbf【用设计器后修改】【捷径】题目给出具体日期,并要求运行得到表,以1980年1月1日作为条件,用查询设计器做好后运行。37三表文件(要运行)【捷径】同45

第37套三(1)"查询"(Command1)按钮:在该按钮的"Click"事件中使用SQL的SELECT命令查询结帐日期等于从文本框输入日期的顾客序号、顾客姓名、单位和消费金额,查询结果按消费金额降序排序,并将查询结果存储到表TABC中。查询结帐日期等于2005-10-01的顾客信息。(2)"显示"(Command2)按钮:在该按钮的"Click"事件中使用命令将表TABC中记录在表格控件中显示④将表格的RecordSourceType属性"4-SQL说明"。⑤设置"查询"按钮的Click事件代码:Select顾客序号,顾客姓名,单位,消费金额from结帐表;where结帐日期=ctod(thisform.text1.text);

orderby消费金额descINTOTABLEtabc.dbf⑥设置"显示"按钮的Click事件代码:thisform.grid1.recordsource=;"Select顾客序号,顾客姓名,单位,消费金额from结帐表;

where结帐日期=ctod(thisform.text1.text);orderby消费金额descINTOTABLEtabc.dbf"。完全相同的语句49表文件(要运行)第49套三、单击命令按钮可以查询指定商品(由用户在文本框给定商品号)的订购信息,查询结果依次包含订单号、客户名、签订日期、商品名、单价和数量等六项内容。各记录按订单号升序排序。查询结果存放在表tablethree中。最后运行表单,然后在文本框中输入商品号a00002,并单击"确定"按钮完成查询。selectOrder.*,商品名,单价,数量;fromgoods,orderitem,order;whereOrder.订单号=Orderitem.订单号and;Goods.商品号=Orderitem.商品号and;Goods.商品号=thisform.Text1.Text;orderbyOrder.订单号intotabletablethree.dbf【捷径】题目给出具体商品号,并要求运行得到表,以a00002作为条件,用查询设计器做好后运行。28三表文件(要运行)第28套三使用SQL语句根据"学院表"的"系名"字段的内容在列表框中显示"系名"(注意不要使用命令指定这两个属性)。程序的功能是根据表单运行时列表框中选定的"系名",将"教师表"表中相应系的所有记录存入以该系名命名的自由表中,自由表中包含"职工号","姓名"和"工资"三个字段,并按照"职工号"升序排列。运行表单,分别生成存有"计算机"、"通信"、"信息管理"系信息的3个表。为“生成表”命令按钮的单击事件编写程序如下:select职工号,姓名,工资from教师表join学院表;on学院表.系号=教师表.系号orderby职工号;Where系名=thisform.list1.list(thisform.list1.listindex);intotablthisform.list1.list(thisform.list1.listindex)

【捷径】题目给出具体系名,并要求运行得到表,以“计算机”、“通信”、“信息管理”作为条件及文件名,用查询设计器做3个表,要运行。(1)where系名="计算机"intotabl计算机(2)where系名="通信"intotabl通信(3)where系名="信息管理"intotabl信息管理三、综合应用(1小题,计30分)在考生文件夹下完成下列操作:(1)创建自由表tablethree,其结构如下:姓名C(6)最高金额N(6,2)最低金额N(6,2)平均金额N(6,2)(2)设计一个进行查询统计的表单formtwo.scx,其界面如下图所示。其中表格的名称为Grid1,"查询统计"按钮的名称为Command1,"退出"按钮的名称为Command2,文本框的名称为Text1。当在文本框输入某职员姓名并单击"查询统计"按钮时,会在左边的表格内显示该职员所签各订单的金额,并将其中的最高金额、最低金额和平均金额存入表tablethree中。单击"退出"按钮将关闭表单。(3)运行上面创建的表单formtwo,然后依次查询统计"赵小青"和"吴伟军"两位职员所签订单的有关金额。执行完后,表tablethree中应该包含两条相应的记录。25三表文件【捷径】题目给出具体职员姓名"赵小青"和"吴伟军",用查询设计器做好后,直接向tablethree表加记录。39三1.建立一个文件名和表单名均为oneform的表单,表单中包括两个标签(Label1和Label2)、一个选项组(Optiongroup1)、一个组合框(Combo1)和两个命令按钮(Command1和Command2),Label1和Label2的标题分别为"工资"和"实例",2.将组合框(Combo1)的RowSourceType和RowSource属性手工指定为5和a,然后在表单的Load事件代码中定义数组a并赋值,使得程序开始运行时,组合框中有可供选择的"工资"实例3000、4000和5000。3.为"生成"命令按钮编写程序。程序的功能是:表单运行时,根据选项组和组合框中选定的值,将"教师表"中满足工资条件的所有记录存入自由表salary.dbf中,表中的记录先按"工资"降序、再按"姓名"升序排列。4.为"退出"命令按钮设置Click事件代码,其功能是:释放表单。5.运行表单,在选项组中选择"小于",在组合框中选择"4000",单击"生成"命令按钮,最后,单击"退出"命令按钮。选项组(Optiongroup1)中有两个选项按钮,标题分别为"大于等于"和"小于",Command1和Command2的标题分别为"生成"和"退出"。如图所示。39三捷径:【捷径】用查询设计器:直接用工资“小于”“4000”的条件select*from教师表orderby工资desc,姓名;where工资<4000intotablesalary81二1.1.使用SQL语句查询每个职工所经手的具有最高金额的订购单信息(orders表),并将结果按金额升序、金额相同按订购单号升序存储到表results中。答案SQL语句为:SELECT*FROMordersORDERBY金额,订购单号;WHERE职工号+str(金额,10,0)IN;(SELECT职工号+str(MAX(orders.金额),10,0);FROMordersGROUPBY职工号);INTOTABLEresults81二1.捷径:1·用查询设计器:SELECT*FROMordersORDERBY金额,订购单号INTOTABLEresults2·加删除记号3·选菜单“表”/“删除记录”81二1

orders职工号供应商号订购单号订购日期金额e3s4or792001-6-138900e1s4or732001-7-289500e2s1or182000-7-2013000e5s2or172000-6-168800e6or7712500e7s4or762001-5-2518000e9s610082000-4-2913000e3s7or672001-6-238900e13s4or162000-5-1610000e14s9or152000-12-1513000e8s2or142000-11-239500e10s4or132000-12-2512000e5s3or122000-12-1011000e1or8021000e2s1or112001-2-1023000e3or9010000e3s3or912001-7-135500e8s6or102000-1-19650081二1

results职工号供应商号订购单号订购日期金额e3s3or912001-7-135500e8s6or102000-1-196500e5s2or172000-6-168800e3s7or672001-6-238900e3s4or792001-6-138900e8s2or142000-11-239500e1s4or732001-7-289500e13s4or162000-5-1610000e3or9010000e5s3or122000-12-1011000e10s4or132000-12-2512000e6or7712500e9s610082000-4-2913000e14s9or152000-12-1513000e2s1or182000-7-2013000e7s4or762001-5-2518000e1or8021000e2s1or112001-2-1023000①"查询"按钮:在该按钮的"Click"事件中使用SQL的SELECT命令查询顾客号等于输入的"顾客号"的顾客的顾客号、顾客名和地址,以及购买商品的商品号、商品名、单价、数量和金额(各商品记录按商品号升序排序)。将查询的顾客信息在表格控件Grid1中显示,同时将结果存储到表TABB中;将查询的顾客购买商品的结果在表格控件Grid2中显示,同时将结果存储到表TABC中。注意:每件商品的"金额"是由COMM表中该商品的单价*ORDER表中该商品的订购数量计算得到。表TABB和表TABC结构分别如下:TABB(顾客号,顾客名,地址)TABC(商品号,商品名,单价,数量,金额)表单设计完成后,运行该表单,查询顾客号等于"010003"的顾客信息和购买的商品信息。83三83三

CUST顾客号顾客名地址应付款010001刘冀山西路12号8楼1单元505室0010002王晓刚山西路13号6楼5单元505室0010003李霞山西路28号3楼6单元505室0010004李冰山西路66号2楼8单元505室0020005刘萍萍海滨路35号12楼2单元101室0020003吴东方山西路21号2楼2单元105室0010006崔夏明山西路39号2楼8单元901室0020001申晶晶山西路111号7楼3单元301室0020002刘萍萍东山路12号2楼1单元505室0020004万山红海洋路12号8楼1单元505室0030001刘巧巧海洋路8号2楼1单元201室0030005孙小丽广西路88号88楼2单元505室0030004张招弟海洋路1号8楼5单元12室0030002钱旭东海滨路23号B楼A单元105室0030003王韵海滨路22号E单元902室0010005赵大海林业小区5号楼2单元202室083三ORDERCOMM商品号商品名单价产地0101台式计算机8888中国天津0102笔记本计算机12000中国深圳0103服务器40000中国天津0104交换机4000中国深圳0201数码单反照相机15000中国上海0202硬盘摄像机6000中国上海0203DVD摄像机5000中国上海0301彩色激光打印机10000中国江苏0302A3激光打印机20000中国江苏0303A0彩色绘图仪95000中国江苏0304A3扫描仪20000中国江苏顾客号商品号数量01000101012020002020140100010201201000102021010005010110100050301101000203012010003010130100030102102000201031030003020220300030203501000303012010003010470200030201302000303014010004010120100040102201000402011020004010110200040102101000601011010006010220100060201203000203013030002030210300040101203000401021030005010320200050103102000501042

答案:⑤设置"查询"按钮的Click事件代码:GKh=ALLTRIM(ThisForm.Text1.Value)ThisForm.Grid1.RecordSource="SELECT顾客号,顾客名,地址FROMCUSTWHERE顾客号==‘"+GKh+“'INTOTABLETABB"ThisForm.Grid2.RecordSource="SELECTComm.商品号,商品名,单价,数量,Comm.单价*Order.数量as金额FROMcdb!commINNERJOINcdb!orderONComm.商品号=Order.商品号WHERE顾客号==‘"+GKh+“'INTOTABLETABC"【捷径】用查询设计器做表,直接用条件顾客号‘01003‘1·SELECT顾客号,顾客名,地址FROMCUSTWHERE顾客号==‘01003‘INTOTABLETABB

2·SELECTComm.商品号,商品名,单价,数量,单价*数量as金额FROMcommJOINorderONComm.商品号=Order.商品号WHERE顾客号==‘01003‘

INTOTABLETABC"83捷径三、综合应用(1)"查询"按钮(Command1)在该按钮的Click事件中编写程序,采用SQL语句根据第1个文本框输入的顾客号进行查询。在表格控件中显示该顾客的顾客号和购买的每件商品的商品号、商品名、单价、数量和金额,各记录按商品号升序排序。该查询结果应同时存储到表tjb.dbf中。另外需要统计该顾客的应付款,并显示在Text2文本框中。说明:金额=单价*数量,应付款=顾客购买的商品金额合计表单设计完成后,运行该表单,输入顾客号:010003,单击"查询"按钮进行查询。【捷径】顾客号直接取‘010003‘1·用查询设计器:SELECT顾客号,Comm.商品号,商品名,单价,数量,单价*数量as金额;FROMcommJOINorderONComm.商品号=Order.商品号;WHERE顾客号=‘010003‘orderbyComm.商品号INTOTABLEtjbThisForm.Grid1.RecordSource="SELECTOrder.顾客号,Comm.商品号,商品名,单价,数量,Comm.单价*Order.数量as金额FROMcdb!commINNERJOINcdb!orderONComm.商品号=Order.商品号WHERE顾客号=ALLTRIM(ThisForm.Text1.Value)orderbyComm.商品号INTOTABLEtjb"84捷径二、1.编写程序文件prgone.prg,其功能是从"人事管理"数据库的相关表中查询销售部从1985年到1989年这5年出生的所有职工的信息,并存到表cyqk.dbf中。查询结果包含编号、姓名、出生日期和部门名称(部门表中的名称)4个字段;按职工的出生日期和编号升序排序。最后运行该程序。【捷径】1·用查询设计器:SELECT编号,姓名,出生日期,名称FROM部门JOIN职工;ON部门.部门编号=职工.部门编号ORDERBY出生日期,编号;INTOTABLEcyqk2.打开cyqk表,直接删除不满足条件的记录3.打开表设计器把字段“名称”改成“部门名称”SELECT编号,姓名,出生日期,名称AS部门名称FROM部门,职工;WHERE部门.部门编号=职工.部门编号AND部门.名称="销售部";ANDYEAR(职工.出生日期)>=1985ANDYEAR(职工.出生日期)<=1989;ORDERBY出生日期,编号INTOTABLEcyqk.dbf90二捷径90三单击"查询"按钮,查询指定部门所有职工的信息,包括职工的姓名、性别、出生日期和编号,按编号升序排序。查询结果不仅显示在表单右侧的表格中,也保存在表文件tableone.dbf中。在文本框中输入部门名称"开发部",【捷径】·用查询设计器:SELECT姓名,性别,出生日期,编号FROM部门JOIN职工;ON部门.部门编号=职工.部门编号WHERE名称="开发部";ORDERBY编号INTOTABLEtableone.dbf

st="SELECT姓名,性别,出生日期,编号FROM职工,部门WHERE职工.部门编号=部门.部门编号AND;部门.名称=thisform.Textone.TextINTOTABLEtableone.dbfORDERBY职工.编号"

thisform.Gridone.RecordSource=st90三捷径(建立表table3,)从xuesheng表和chengji表中找出所有成绩不及格(分数小于60)的学生信息(学号、姓名、课程名和分数),并把这些数据保存到表table3中(若一个学生有多门课程不及格,在表table3中就会有多条记录)。表table3中的各记录应该按分数升序排序,分数相同则按学号降序排列。要求在程序中用SETRELATION命令建立chengji表和xuesheng表之间的关联(同时用INDEX命令建立相关的索引),并通过DOWHILE循环语句实现规定的功能。最后运行程序。捷径(15分)本题程序过难,直接做table3表用查询设计器从chengji表中找出分数有小于60的记录。手工填入table3表★★17三学号数学英语信息技术2000100101788092200010010286868820001001039272952000100104828090.5200010

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论