vfp学习.docx
- 文档编号:10478724
- 上传时间:2023-02-13
- 格式:DOCX
- 页数:23
- 大小:63.92KB
vfp学习.docx
《vfp学习.docx》由会员分享,可在线阅读,更多相关《vfp学习.docx(23页珍藏版)》请在冰豆网上搜索。
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: 在表单控件工具栏中以拖拽的方式向表单中添加两个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vfp 学习
![提示](https://static.bdocx.com/images/bang_tan.gif)