vfp学习.docx

上传人:b****8 文档编号:10478724 上传时间:2023-02-13 格式:DOCX 页数:23 大小:63.92KB
下载 相关 举报
vfp学习.docx_第1页
第1页 / 共23页
vfp学习.docx_第2页
第2页 / 共23页
vfp学习.docx_第3页
第3页 / 共23页
vfp学习.docx_第4页
第4页 / 共23页
vfp学习.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

vfp学习.docx

《vfp学习.docx》由会员分享,可在线阅读,更多相关《vfp学习.docx(23页珍藏版)》请在冰豆网上搜索。

vfp学习.docx

vfp学习

(3)编写命令按钮的Click事件代码。

***"查询"按钮的Click事件代码****

SELECTcourse.课程名,score1.成绩,课程名*成绩对应与表相关的名称

FROMcourse,score1;

WHEREcourse.课程号=score1.课程号ANDscore1.学号=ThisForm.Text1.text(注意并不是value的输入值,而是文本的本身内容。

Text是还原文本控件输入区的所有文字,起到刷新的作用);

INTOCURSOR(临时表)coruse_cursor(文件名)临时表起的作用,很好

IFRECC()=0

MESSAGEBOX("学号不存在,请重新输入学号")(信息提示语句)

ELSE

ThisForm.Grid1.RecordSource="coruse_cursor"

ThisForm.Grid1.refresh谁(输入一次就刷新一次)

ENDIF

*******************************

***"退出"按钮的Click事件代码***

ThisForm.Release

droptablecoruse_cursor这里使用的是正常表,而不是临时表。

SELECTcourse.课程名,score1.成绩;

FROMcourse,score1;

WHEREcourse.课程号=score1.课程号ANDscore1.学号=ThisForm.Text1.text;

INTOTABLEcoruse_cursor

IFRECC()=0

MESSAGEBOX("学号不存在,请重新输入学号")

ELSE

ThisForm.Grid1.RecordSource="coruse_cursor"

ThisForm.Grid1.refresh

ENDIF

步骤4:

保存并运行表单。

(1)【操作步骤】

步骤1:

单击工具栏中的"新建"按钮,在"新建"对话框中选在"文件类型"中的"程序",单击"新建文件"按钮。

步骤2:

在程序窗口中输入以下语句:

SELECT供应.供应商号,供应.工程号,供应.数量;

FROM零件,供应WHERE供应.零件号=零件.零件号;

AND零件.颜色="红";

ORDERBY供应.数量desc(降序);asc(升序)(不要忘了)

INTODBFsupply_temp

步骤3:

单击工具栏中的"保存"按钮,在"另存为"对话框中输入文件名query1,再单击"保存"按钮。

最后单击工具栏中的"运行"按钮。

(2)【操作步骤】

步骤1:

单击工具栏中的"新建"按钮,在"新建"对话框中选择"文件类型"选项组中的"菜单",单击"新建文件"按钮,在弹出的"新建菜单"对话框中选择"快捷菜单"。

步骤2:

在快捷菜单设计器中的"菜单名称"中分别输入两个菜单项"查询"和"修改"。

单击工具栏中的"保存"按钮,在"另存为"对话框中输入menu_quick,单击"保存"按钮。

步骤3:

单击"菜单"菜单中的"生成"命令,在"生成菜单"对话框中单击"生成"

按钮。

步骤4:

单击工具栏中的"打开"按钮,在"打开"对话框中选择考生文件下的myform.scx

文件,并单击确定按钮。

然后双击表单设计器打开代码窗口,在"对象"中选择form1,在"过程"中选择RightClick,输入代码:

domenu_quick.mpr,保存表单。

步骤5:

单击工具栏中的"运行"按钮,运行该表单。

【操作步骤】

步骤1:

单击工具栏中的"新建"按钮,在"新建"对话框中选择"文件类型"选择组中的"表单",单击"新建文件"按钮。

步骤2:

在表单设计器中设置表单的Name属性为mysupply,Caption属性为"零件供应情况",从控件工具栏中分别选择一个表格、一个标签、一个文本框和两个命令按钮放置到表单上,分别设置标签label1的Caption属性为"工程号",命令按钮Command1的Caption属性为"查询",Command2的Caption属性为"退出",表格的Name属性为"grid1",RecordSourceType属性为"0-表"。

步骤3:

双击"查询"命令按钮,并输入如下代码:

Select零件.零件名,零件.颜色,零件.重量;

From供应,零件;

Where零件.零件号=供应.零件号and(且,不需分开,where…and句子)供应.工程号=thisform.text1.value;前面的文本框是指输入的效果,输入的是值,只能一步输入提供了这样的一种值的显示,一个步骤。

后面,按下”查询”才能有效果,所以后面的查询有上面工程的命令建。

供应.工程号=thisform.text1(名字).value

OrderBy零件名;

Intodbfpp没有这个“;”哦

ThisForm.Grid1.RecordSource="pp"最终存储,pp中存储的是什么内容。

把这上面查询的纪录的东西进入pp。

涉及是设计的表与上是一个动作。

再双击"退出"命令按钮,并输入:

THISFORM.RELEASE

(没有涉及数据源,所以一般不要随意添加的。

哪怕是原来的东西。

步骤4:

单击工具栏中的"保存"按钮,在"另存为"对话框中输入表单名mysupply,单击"保存"按钮。

步骤5:

单击工具栏中的"运行"按钮,在文本框中输入J4,并单击"查询"命令按钮。

 

步骤2:

系统打开表单设计器,单击"表单控件"工具栏中的命令按钮,在表单设计器中拖动鼠标添加一个命令按钮对象command1,设置其Caption属性为"查询",双击command1,在打开的代码编辑器窗口中输入以下代码:

SELECT作者姓名,所在城市;

FROMAUTHORS;

WHERE作者编号IN;

(SELECT作者编号FROMBOOKSGROUPBY作者编号HAVINGCOUNT(*)>=3);取出大于等于的3的东西,相当于等于分组,groupby进行分组,having为分组的条件,加以控制。

Having(小条件)只在groupby后进行。

ORDERBY作者姓名;

INTOTABLENEW_VIEW4

用同样的方法,在表单上添加命令按钮command2,设置其Caption属性为"退出",并双击输入Click的事件代码为:

THISFORM.RELEASE

步骤3:

单击工具栏中的"保存"按钮,在另存为对话框中将表单保存为myform4,再单击"保存"按钮。

步骤4:

单击工具栏中的"运行"按钮,运行表单,再分别单击表单中的"查询"和"退出"按钮。

 

Figure1

步骤1:

在命令窗口中输入下列代码,用于将BOOKS表中满足条件的记录复制到BOOKS_BAK表中,并按回车键以执行该代码。

***************************************

SELECT*FROMBOOKSWHERE(不要忘了条件)书名LIKE(字符匹配运算符,%为多个字符,_为任意一个字符)"%计算机%"(字符)INTOTABLEBOOKS_BAK“复制计算机三个字没有程序,代码的就在命令中输入。

注意:

命令中没有“;“表示,也没有books.dbf之类型的显示。

而程序和代码中含有

Select关系运算符,=,>,>=,<=,==,<,isnull,between,,,,,and,in,like等.而不等于是<>,!

=,#

***************************************

步骤2:

在命令窗口中输入下列代码,用于更新BOOKS_BAK表中的价格字段,并按回车键以执行该代码。

*************************

UPDATEBOOKS_BAKSET价格=价格*(1-0.05)(更新价格设置)

*************************

步骤3:

在命令窗口中输入下列代码,并按回车键以执行该代码。

********************************

SELECTTOP1Books_bak.出版单位,avg(books_bak.价格)as均价;平均的写法

FROMbooks_bak;

GROUPBYBooks_bak.出版单位;

HAVING均价>=25;groupby中的控制条件很重要

ORDERBY2;

INTOTABLEnew_table4.dbf

 

(1)【操作步骤】

步骤1:

单击工具栏中的"新建"按钮,在"新建"对话框中选择"文件类型"选项组中的"查询",并单击"新建文件"按钮。

步骤2:

在"添加表或视图"对话框中分别将表零件信息、使用零件和项目信息添加到查询设计器,并根据联接条件建立联接。

步骤3:

在查询设计器的"字段"选项卡中,分别将项目信息.项目号、项目信息.项目名、零件信息.零件号、零件信息.零件名称添加到"选定字段"列表中。

步骤4:

在"排序依据"选项卡中,将项目信息.项目号添加到"排序条件"列表中,并选择"降序"单选按钮;再将零件信息.零件号添加到"排序条件"列表中,并选择"升序"单选按钮。

步骤5:

单击"查询"菜单下的"查询去向"命令,在"查询去向"对话框中选择"表",并输入表名item_temp,单击确定按钮。

步骤6:

单击"查询"菜单下的"查看SQL"命令,并复制全部代码;再单击工具栏中的"新建"按钮,在"新建"对话框中选择"文件类型"选项组下的"文本文件",单击"新建文件"按钮,将复制的代码粘贴到此处。

SELECT项目信息.项目号,项目信息.项目名,零件信息.零件号,;

零件信息.零件名称;

FROM使用零件情况!

零件信息INNERJOIN使用零件情况!

使用零件;

INNERJOIN使用零件情况!

项目信息;

ON使用零件.项目号=项目信息.项目号;

ON零件信息.零件号=使用零件.零件号;

ORDERBY项目信息.项目号DESC,零件信息.零件号;

INTOTABLEitem_temp.dbf

步骤7:

单击工具栏中的"保存"按钮,在"另存为"对话框中输入item,单击"保存"按钮;再在命令窗口中输入:

doitem.txt,按回车键运行查询。

 

【操作步骤】

步骤1:

在命令窗口中输入creaformform_item,然后按回车键,在表单设计器的"属性"对话框中设置表单的Caption属性为"使用零件情况统计",Name属性为form_item。

步骤2:

从"表单控件"工具栏向表单添加一个组合框、一个文本框和两个命令按钮,设置组合框的RowSourceType属性为"5-数组"、Style属性为"2-下拉列表框"、RowSource属性为A,设置命令按钮Command1的Caption属性为"统计",设置命令按钮Command2的Caption为"退出"。

步骤3:

双击表单空白处,在表单的Init事件中输入如下代码:

Publica(3)

A

(1)="s1"

A

(2)="s2"

A(3)="s3"

步骤4:

分别双击命令按钮"统计"和"退出",为它们编写Click事件代码。

其中,"统计"按钮的Click事件代码如下:

x=allt(bo1.value)

SELECTSUM(使用零件.数量*零件信息.单价)asje;

FROM使用零件情况!

使用零件INNERJOIN使用零件情况!

零件信息;

ON使用零件.零件号=零件信息.零件号;

WHERE使用零件.项目号=xintoarrayb

thisform.text1.value=allt(str(b[1]))

"退出"按钮的Click事件代码如下:

thisform.release

步骤5:

单击工具栏中的"保存"按钮,再单击"运行"按钮运行表单,并依次选择下拉列表框中的项运行表单的所有功能。

 

题目:

统计菜单命令的功能是以组为单位求“订单金额”的和。

统计结果包含“组别”,负责人,合计3项内容,其中负责人为该组组长(取自employee中的“职务‘字段)的姓名,”合计“为该组所有职员所签订订单的金额总和。

统计结果按“合计”降序排序,并存放在tabletwo表中。

“返回“菜单命令的功能是返回visualfoxpro的系统菜单。

【操作步骤】

步骤1:

单击工具栏中的"新建"按钮,在"新建"对话框中选择"文件类型"中的"菜单",单击"新建文件"按钮,再在"新建菜单"对话框中单击"菜单"按钮;单击"显示"菜单下的"常规选项"命令,在"常规选项"对话框中选择"在…之前"单选按钮,并在右边的下拉列表中选择"帮助"。

步骤2:

在菜单设计器的"菜单名称"中输入"考试","结果"选择"子菜单",单击"创建"按钮;在子菜单的第一行"菜单名称"中输入"统计","结果"选择"过程",在第二行"菜单名称"中输入"返回""结果"选择"过程"。

步骤3:

选择"统计"行,单击该行中的"创建"按钮,在弹出的窗口中输入如下代码:

SELECTEmployee.组别,Employee.姓名(还是字段,相当于赋值)AS(注意)负责人,sum(orders.金额)as合计;(select后可以进行随意的输入字符等);

FROMemployee,orders;

WHEREEmployee.职员号=Orders.职员号;

ANDEmployee.职务="组长";(看题目)

GROUPBYEmployee.组别;

ORDERBY3(合计)DESC;orderby从select中选取的,所以用3进行替换。

INTOTABLEtabletwo.dbf

步骤4:

选择"返回"行,,单击该行中的"创建"按钮,在弹出的窗口中输入如下代码:

SETSYSMENUTODEFAULT

步骤5:

单击工具栏中的"保存"按钮,在"另存为"对话框中将菜单保存为mymenu.mnx;

再单击"菜单"下的"生成"命令,在"生成菜单"对话框中单击"生成"按钮。

步骤6:

在命令窗口中输入:

DOmymenu.mpr,运行程序,分别执行"统计"和"返回"菜单命令。

 

(1)【操作步骤】

在命令窗口中输入查询语句,输入完成后,按回车键。

SELECTBook.书名,Book.作者,Book.价格;

FROMbook,loans,borrows;

WHERELoans.借书证号=Borrows.借书证号;

ANDBook.图书登记号=Loans.图书登记号;

ANDBorrows.姓名="田亮";(可以用多个and)

ORDERBYBook.价格DESC;

INTOTABLEbook_temp.dbf

(2)【操作步骤】

步骤1:

单击工具栏中的"打开"按钮,在"打开"对话框中选择考生文件夹下的menu_lin.mnx文件,单击"确定"按钮。

选在"显示"菜单下的"常规选项"命令,在"常规选项"对话框中选择"顶层表单"复选框。

步骤2:

在命令窗口输入命令createformform_menu,新建表单form_menu,设置表单的ShowWindow属性为"2-作为顶层表单"

步骤3:

双击表单空白处,打开代码编辑窗口,选择表单对象的Init(初始输入事件)事件,输入以下代码:

DOmenu_lin.mprWithThis,"abc"(细致到下拉菜单项)

再选择表单对象的Destroy事件,输入以下代码:

(释放的事件)

ReleaseMenuabcExtended

步骤4:

单击工具栏上的"保存"按钮,再单击"运行"按钮。

 

 

步骤1:

在命令窗口中输入createformform_book,然后按回车键,在表单设计器的"属性"对话框中设置表单的Caption属性为"图书情况统计",Name属性为form_book。

步骤2:

从"表单控件"工具栏向表单添加一个组合框、一个文本框和两个命令按钮,设置组合框的RowSourceType属性为"1-值"、Style属性为"2-下拉式列表框"、RowSource属性为"清华,北航,科学",设置命令按钮Command1的Caption属性为"统计",设置命令按钮Command2的Caption为"退出"。

步骤3:

分别双击命令按钮"统计"和"退出",为它们编写Click事件代码。

其中,"统计"按钮的Click事件代码如下:

SELECTCOUNT(*)FROMBOOK;

WHERE出版社=THISFORM.COMBO1.VALUE;并不是字符,不需要””

INTOARRAY(任意数组的变量名)TEMP进入临时阵和列,再进行下面的赋值

THISFORM.TEXT1.VALUE=TEMP

(1)两个控件,一个命令控件,怎样联系的问题,THISFORM.TEXT1.VALUE的值的赋予等(没有做的起来,)

"退出"按钮的Click事件代码如下:

ThisForm.Release

步骤4:

单击工具栏中的"保存"按钮,再单击"运行"按钮运行表单,并依次选择下拉列表框中的项运行表单的所有功能

 

(1)【操作步骤】

单击工具栏中的"打开"按钮,打开考生文件夹下的程序文件modi1.prg,并按题目的要求进行改错,修改完成后保存并运行程序文件。

***********程序提供的代码***********

SELECT零件名称FROM零件信息WHERE零件号=;where零件号in

(SELECT零件号FROM使用零件;

GROUPBY项目号HAVINGCOUNT(项目号)=3);groupby零件号

ORDERBY零件名称;

INTOFILEresultstofileresults关于to与into之间的区别

************************************

其中,第1行中的"="需改为"IN";第3行中的"GROUPBY项目号"需改为"GROUPBY零件号";第5行中的"INTOFILE"需改为"TOFILE"文件需要用to进行输入。

(2)【操作步骤】代数

步骤1:

在命令窗口输入:

Createformformone,按下回车键建立一个表单,通过表单控件工具栏按题目要求为表单添加控件。

在"属性"对话框中,设置表单的Name属性为formone,设置其Caption属性为"简单应用";设置标签的Caption属性为"项目号";设置命令按钮的属性为"确定"。

步骤2:

双击命令按钮,编写其Click事件代码如下:

x=thisform.text1.value

a="SELECT零件信息.零件号,零件信息.零件名称,零件信息.单价,使用零件.数量;

FROM零件信息,使用零件;

WHERE零件信息.零件号=使用零件.零件号and使用零件.项目号=x;

ORDERBY零件信息.零件号INTOTABLE(随输入的项目号进行保存)(直接进入存放表中)"+x

&a要用代数的,早说了

步骤3:

单击"保存"按钮,再单击工具栏中的"运行"按钮,分别在文本框中输入s1和s3,单击"确定"按钮。

 

调整对齐的实例:

步骤3:

同时选中命令按钮与表格控件(按住shift键不放),再单击"布局"工具栏中的"左边对齐"和"相同宽度"按钮。

 

第七套综合练习

筛选中的日期格式

在"筛选"选项卡中设置筛选条件为"orders.签订日期>={^2001-05-01}"

分别选择字段orders.订单号、orders.签订日期、orders.金额、customer.客户名,添加到可用字段中;然后在"函数和表达式"文本框中输入"employee.姓名AS签订者"(语句的细节性),并添加到可用字段。

 

MultiSelect定义可以多选

 

【操作步骤】

步骤1:

在命令窗口输入

Createformmyform

新建表单。

步骤2:

将表单的ShowWindow属性设置为"2-作为顶层表单",然后设置其Caption属性值为"考试"。

步骤3:

双击表单空白处,编写表单的Init事件代码:

DOmymenu.mprWITHTHIS,"myform"

步骤4:

新建菜单,输入菜单名称"统计(\

步骤5:

执行"显示"菜单下的"常规选项"命令,将此菜单设置为"顶层表单"。

步骤6:

分别在"统计"和"退出"菜单的"结果"列中选择"过程",并单击"创建"按钮,写入如下SQL语句。

******"统计"菜单中的命令语句******

SELECTCustomer.客户号,Customer.客户名,sum(orders.金额)as合计;

FROMcustomer,orders;

WHERECustomer.客户号=Orders.客户号;

GROUPBYCustomer.客户号;有必要按照客户号归总后进行合计,如01号进行分组,适合上面的合计进行必要的统计

ORDERBY3DESC;sum(orders.金额)as合计

INTOTABLEtabletwo.dbf

**********************************

******"退出"菜单中的命令语句******

Myform.Release这不是表单中,而在菜单中的“退出”,指明相应的表单退出。

并不是thisform,要活用!

***********************

步骤7:

单击工具栏中的"保存"按钮,保存菜单名为mymenu,生成可执行程序。

运行表单,查看结果。

 

步骤3:

双击"显示"按钮,修改其Click事件代码如下。

错误1:

FORi=1TOthisform.List1.ColumnCount

修改为:

FORi=1TOthisform.List1.ListCount列表部分数据项的数目

错误2:

s=thisform.List1.value

修改为:

s=thisform.List1.List(i)

错误3:

s=s+thisform.List1.value

修改为:

s=s+","+thisform.List1.List(i)?

List()存取数据项的字符串数组列表中或组合框中与文本框等的区别,value

步骤4:

保存并运行表单查看结果。

 

第八套综合练习题

建立主索引,候选索引等,注意表的修改等sql语句addunique,addprimary,add——(增加字段)

ALTER(修改表)TABLE课程表ADDUNIQUE课程号TAG(标识名)temp(修改候选索引,候选表达式)

 

【操作步骤】

步骤1:

在命令窗口输入:

CreateFormoneform

并按回车键,新建一个名为oneform表单。

步骤2:

在表单控件工具栏中以拖拽的方式向表单中添加两个

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 管理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1