VF电子教案(表单练习)

时间:2019-05-12 18:19:49下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《VF电子教案(表单练习)》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《VF电子教案(表单练习)》。

第一篇:VF电子教案(表单练习)

教学时间约

****年**月**日

总第节

审批签字:

【课题】表单练习(1)

本课(章、节)共 2 课时,本课时为第1、2 课时,课的类型:实习课 【教学目标】熟悉表单的操作与命令 【教学重点】表单的操作与命令 【教学难点】表单的操作与命令 【教学方法】讲授法、实验法 【教学过程及板书设计】

(一)前提测评:

(二)目标展示:表单的操作与命令

(三)导学达标:

一、与表无关的表单设计(与计时器无关)1.要求:(1)编制一个按钮组调色板

(2)当用户按了命令按钮组中的某个按钮后,表单的背景色就会变为按钮指定的对应颜色。

 命令按钮组Commandgroup1的Click事件代码:

do case

case this.value=1 thisform.backcolor=rgb(225,0,0)case this.value=2 thisform.backcolor=rgb(0,255,0)case this.value=3 thisform.backcolor=rgb(0,0,255)case this.value=4 thisform.backcolor=rgb(0,0,0)case this.value=5 thisform.backcolor=rgb(225,255,255)endcase thisform.refresh

2.要求:(1)编制一个按钮组调色板

(2)当用户按了命令按钮组中的某个按钮后,命令按钮组的背景色就会变为按钮指定的对应颜色。(注意与上一题比较,14是设置表单的背景色,本题是设置命令按钮组的背景色。

 命令按钮组Commandgroup1的Click事件代码:

do case

case this.value=1 this.backcolor=rgb(225,0,0)case this.value=2 this.backcolor=rgb(0,255,0)case this.value=3 this.backcolor=rgb(0,0,255)case this.value=4 this.backcolor=rgb(0,0,0)case this.value=5 this.backcolor=rgb(225,255,255)endcase thisform.refresh

3.要求:(1)编制一个选项按钮组调色板

(2)当用户按了某个选项按钮后,表单的背景颜色就会变为按钮指定的对应颜色。

 选项按钮组Optiongroup1的Click事件代码:

do case

case this.value=1

thisform.backcolor=rgb(255,0,0)case this.value=2

thisform.backcolor=rgb(0,255,0)case this.value=3 教学时间约

****年**月**日

总第节

审批签字:

thisform.backcolor=rgb(0,0,255)case this.value=4

thisform.backcolor=rgb(0,0,0)case this.value=5

thisform.backcolor=rgb(255,255,255)endcase  如果是设置选项按钮组的背景色,如下图

则颜色设置语句为:thisform.optiongroup1.backcolor=rgb(255,0,0)4.要求:(1)编制一个“选页调色板”表单

(2)当用户按了某页后,页框的背景色就会变成指定的对应颜色。

 选项按钮组Pageframe1的Click事件代码:

do case case this.activepage=1

this.page1.backcolor=rgb(255,0,0)case this.activepage=2

this.page2.backcolor=rgb(0,255,0)case this.activepage=3

this.page3.backcolor=rgb(0,0,255)case this.activepage=4

this.page4.backcolor=rgb(0,0,0)case this.activepage=5

this.page5.backcolor=rgb(255,255,255)endcase thisform.refresh

5.要求:(1)编制一个表单完成口令判定功能;(2)用户从键盘输入口令时,表单的显示控件以“*”代替具体内容;(3)系统的口令存放在表文件“学生.dbf”的姓名字段中,要求完全匹配;(4)输入口令后,按回车,将自动在表单上显示“正确”或“错误”信息。

***text1的Valid事件代码:

loca for alltrim(this.value)=alltrim(姓名)if found()

thisform.label2.caption=”正确!” else

thisform.label2.caption=”错误!” endif select 学生

6.要求:编制一个人工翻动日历牌,界面窗口中显示当前日期,但是可以通过界面提供的微调按钮任意地向前或向后翻动日期。

 Text1的dateformat属性设为“14-汉语”  微调Spinner1的Downclick事件代码:

thisform.text1.value=thisform.text1.value-1 thisform.refresh  微调Spnnier1的Upclick事件代码:

thisform.text1.value=thisform.text1.value+1 thisform.refresh

(四)小结 【教学后记】

教学时间约

****年**月**日

总第节

审批签字:

【课题】表单练习(2)

本课(章、节)共 2 课时,本课时为第1、2 课时,课的类型:实习课 【教学目标】熟悉表单的操作与命令 【教学重点】表单的操作与命令 【教学难点】表单的操作与命令 【教学方法】讲授法、实验法 【教学过程及板书设计】

(一)前提测评:

(二)目标展示:表单的操作与命令

(三)导学达标:

7.要求(1)设计一个表单,接受用户输入的数字,生成相应的矩阵

(2)文本框内输入一个小于等于10的数字,生成一个相应的对称矩阵,且这个矩阵的对角线的数字全部为0,其他的数字为1。

 “显示”按钮Command1的click事件的代码:

n=val(thisform.text1.value)s=“" for i=1 to n

for j=1 to n

if j=i or j+i=n+1

s=s+”0“+space(2)

else

s=s+”1“+space(2)

endif

endfor

s=s+chr(13)&&每N个字符加一个回车键,所以在内循环结束时执行该语句 endfor thisform.edit1.value=s thisform.refresh

8、要求:按“开始”按钮,在编辑框中显示九九乘法口诀表。

**表单form1的init事件代码: public c,m store “” to c,m **“开始”按钮的click事件 m=”*”

for a=1 to 9

m=m+str(a,4)endfor for I=1 to 9

c=c+str(I,1)for j=1 to I

c=c+str(I*j,4)endfor c=c+chr(13)endfor thisfom.edit1.value=m+c thisform.refresh

9、要求:在文本框中输入一个起始数,在编辑框中显示20个从起始位置开始并且是3的倍数的整数,且这20个数字的个位数都是3,利用标签输出这20个数的和。教学时间约

****年**月**日

总第节

审批签字:

***文本框text1的valid事件代码: public s j=1 I=val(alltrim(thisform.text1.value))S=0 Do while j<=20

If I%3=0 and mod(I,10)=3 J=j+1 S=s+I Thisform.edit1.value=thisform.edit1.value+str(I,10)

Endif

I=I+1 Enddo Thisform.refresh

***command1的click事件代码:

thisform.label2.caption=”这组数字的和=”+str(s,10)thisform.refresh

10、要求:(1)在文本框text1中输入任意一个100以内的正整数;(2)将所有300以内的能被该整数整除的数显示在编辑框中;(3)将所在这些数的和显示在text2中;(4)按“清除”按钮时,将文本框及编辑框清空。

**表单form1的init事件代码: thisform.text1.value=0 thisform.text1.setfocus thisform.text2.value=0 ***文本框text1的valid事件代码: for I=1 to 300

if mod(I,thisform.text1.value)=0 thisform.edit1.value=thisform.edit1.value+str(I,5)+chr(13)thisform.text2.value=thisform.text2.value+i

endif endfor ***“清除”按钮的click事件代码: thisform.text1.value=0 thisform.text2.value=0 thisform.edit1.value=”” thisform.text1.setfocus

(四)小结 【教学后记】

教学时间约

****年**月**日

总第节

审批签字:

【课题】表单练习(3)

本课(章、节)共 2 课时,本课时为第1、2 课时,课的类型:实习课 【教学目标】熟悉表单的操作与命令 【教学重点】表单的操作与命令 【教学难点】表单的操作与命令 【教学方法】讲授法、实验法 【教学过程及板书设计】

(一)前提测评:

要求:按“开始”按钮,在编辑框中显示九九乘法口诀表。**表单form1的init事件代码: public c,m store “” to c,m **“开始”按钮的click事件 m=”*” for a=1 to 9

m=m+str(a,4)endfor for I=1 to 9

c=c+str(I,1)for j=1 to I

c=c+str(I*j,4)endfor c=c+chr(13)endfor thisfom.edit1.value=m+c thisform.refresh

(二)目标展示:表单的操作与命令

(三)导学达标:

11、要求:按“开始”按钮,在列表框中显示2000-2100年之间所有的闰年。

**“开始”按钮的click事件代码: thisform.list1.clear for n=2000 to 2100

if n%4=0 if n%100<>0 or n%400=0

y=1 else

y=0 endif else y=0

endif if y=1

thisform.list1.additem(alltrim(str(n)))endif endfor

12.要求:(1)编制一个小型文本编辑器,界面见下图;(2)文字信息从键盘输入至edit框;(3)三个单选按钮分别用于设置“宋体”、“黑体”和“隶书”;(4)三个check按钮用设置字体的“倾斜”、“加粗”和“下划线”;(5)字号用微调控件实现 教学时间约

****年**月**日

总第节

审批签字:

***optiongroup1的click事件代码: do case

case this.value=1 thisform.text1.fontname=”宋体”

case this.value=2 thisform.text1.fontname=”楷体”

case this.value=3

thisform.text1.fontname=”隶书” endcase ***check1的click事件代码: if this.value=1

thisform.text1.fontbold=.t.else

thisform.text1.fontbold=.f.endif ***check2,3的代码类似于check1 ***spinner1的upclick事件代码

thisform.text1.fontsize=thisform.text1.fontsize-1 ***spinner1的downclick事件代码

thisform.text1.fontsize=thisform.text1.fontsize+1 13.要求:(1)在表单中的三个文本框中分别输入3个数,判别是否能形成三角形,如果是三角形,求出此三角形的面积。(2)判断是否是三角形,可利用:a+b>c,且c>0;a+c>b,且b>0;b+c>a,且a>0

***判断计算按钮command1的click事件代码: a=val(thisform.text1.value)b=val(thisform.text2.value)c=val(thisform.text3.value)if(a+b>c and c>0)or(a+c>b and b>0)or(b+c>a and a>0)

s=(a+b+c)/2

area=sqrt(s*(s-a)*(s-b)*(s-c))endif thisform.label2.caption=”能构成三角形,面积等于:” +str(atea)14.建立一个如图所示的表单

 选项按钮组Optiongroup1的Click事件代码:

do case

case this.value=1

create

case this.value=2 create form case this.value=3

modify command endcase

(四)小结 【教学后记】 教学时间约

****年**月**日

总第节

审批签字:

【课题】表单练习(4)

本课(章、节)共 2 课时,本课时为第1、2 课时,课的类型:实习课 【教学目标】熟悉表单的操作与命令 【教学重点】表单的操作与命令 【教学难点】表单的操作与命令 【教学方法】讲授法、实验法 【教学过程及板书设计】

(一)前提测评:

(二)目标展示:表单的操作与命令

(三)导学达标:

二、与表无关的表单设计(计时器类表单设计)

15.要求:编制一个信息显示(时钟)的界面,显示当前时间(每秒动态显示跳动一次)(2)并将表单的背景颜色设置为蓝、绿色自动变换(与时间同步切换)

 Timer1的Timer事件代码:

s=substr(time(),1,2)f=substr(time(),4,2)m=substr(time(),7,2)mn=val(m)if int(mn/2)=mn/2

thisform.backcolor=rgb(0,0,255)else

thisform.backcolor=rgb(0,255,0)

endif thisform.text1.value=time()16.要求:(1)编制一个表单完成数字时钟显示功能(2)表单将自动以1秒为间隔动态显示系统时间(3)时、分、秒要求用汉字说明

 文本框Text1的背景色Backcolor为RGB(255,255,255);FONTNAME为“隶书”。 时钟控件Timer1的Timer事件代码:

s=substr(time(),1,2)f=substr(time(),4,2)m=substr(time(),7,2)thisform.text1.value=s+”时“+f+'分'+m+'秒'

thisform.refresh 17.要求:(1)编制一个表单完成计时器计数显示功能(2)表单初始显示状态为全零“00:00:00”

(3)按“计数”按钮,将自动以秒为单位从零开始计数(设:时的计数属性名为S,分的计数属性名为F,秒的计数属性名为M。)并在表单上动态显示。按“停止”按钮将显示最后一刻的计数时间。

 创建1个新建属性,clocknum初值设为0  表单的form1的init事件代码:

thisform.timer1.enabled=.f.thisform.text1.value=”00:00:00“ thisform.refresh  “计数”按钮command1的click事件代码: thisform.timer1.enabled=.t. “停止”按钮command2的click事件代码: thisform.timer1.enabled=.f. 时钟控件timer1的timer事件代码:

js=thisform.clocknum s=int(js/3600)f=int(js/60)m=js%60 s1=iif(s<10,'0'+str(s,1),str(s,2))f1=iif(f<10,'0'+str(f,1),str(f,2))

教学时间约

****年**月**日

总第节

审批签字:

m1=iif(m<10,'0'+str(m,1),str(m,2))thisform.text1.value=s1+”:“+f1+”:“+m1 thisform.clocknum=thisform.clocknum+1 thisform.refresh 18.要求:(1)“日期”“星期”“时钟”标签上的文本能自动换行,自动调整大小,背景透明;(2)时钟每1秒种跳一次

 时钟控件Timer1的Timer事件代码:

y=str(year(date()),4)m=str(month(date()),2)d=str(day(date()),2)thisform.text1.value=y+”年“+m+”月“+d+”日“ c=”日一二三四五六“ n=dow(date())w=”星期“+substr(c,2*n-1,2)+”(“+cdow(date())+”)“ thisform.text2.value=w thisform.text3.value=time()19.要求:(1)编制一个表单完成文字水平动态移动操纵的表单;(2)文字信息(纵向)初始显示位置在表单的左边,表单执行后,每间隔20毫秒,文字会自动以间隔加1的幅度逐步向表单右边移动,直到文字到达表单最右边缘;(3)然后,每间隔20毫秒文字会自动以间隔加1的幅度逐步向表单左边移动,直到文字回复到初始位置;(4)整个过程不间断地来回移动

 新建表单属性:right  表单的Form1的Init事件代码:

thisform.timer1.interval=20  时钟控件Timer1的Timer事件代码:

IF thisform.label1.Left=0

thisform.right=.f.endif if thisform.label1.left+thisform.label1.width=thisform.width

thisform.right=.t.ENDIF IF thisform.right

thisform.label1.Left=thisform.label1.Left-1 ELSE

thisform.label1.Left=thisform.label1.Left+1 ENDIF thisform.refresh 20.编制一个日历时钟表单,界面如图所示.要求:(1)表单中的日历是当前日期,时钟每秒跳动一次;(2)单击微调控件的前翻后翻按钮,日期与星期随之变化。

***表单Form1的init事件代码: thisform.text1.value=date()w=iif(dow(date())>1,dow(date())-1,7)thisform.text2.value=”星期”+substr(“一二三四五六日”,2*w-1,2)+”(“+cdow(date())+”)” thisform.text3.value=time()thisform.spinner1.setfocus ***spinner1的upclick事件代码:

thisform.text1.value=thisform.text1.value+1 w=iif(dow(thisform.text1.value)>1,dow(thisform.text1.value)-1,7)thisform.text2.value=”星期”+substr(“一二三四五日”,2*w-1,2)+”(“+cdow(thisform.text1.value)+”)” ***spinner1的downclick事件代码:

thisform.text1.value=thisform.text1.value-1 w=iif(dow(thisform.text1.value)>1,dow(thisform.text1.value)-1,7)thisform.text2.value=”星期”+substr(“一二三四五日”,2*w-1,2)+”(“+cdow(thisform.text1.value)+”)” ***timer1 的timer事件代码:

thisform.text3.value=time()

(四)小结【教学后记】

六教学时间约

****年**月**日

总第节

审批签字:

【课题】表单练习(5)

本课(章、节)共 2 课时,本课时为第1、2 课时,课的类型:实习课 【教学目标】熟悉表单的操作与命令 【教学重点】表单的操作与命令 【教学难点】表单的操作与命令 【教学方法】讲授法、实验法 【教学过程及板书设计】

(一)前提测评:

(二)目标展示:表单的操作与命令

(三)导学达标:

21.要求:(1)编制一个表单完成文字动态缩放操纵的表单;(2)文字信息初始的位置在表单的正中央,表单执行后,第间隔20毫秒,文字自动以字号加1的幅度逐步向周边延伸变大,直到文字充满整个表单;(3)然后每间隔20毫秒,文字会自动以字号加1的幅度逐步向中lkd回缩变小,直到文字复原为初始的状态;(4)整个过程不间断地缩放(最小字号为4,最大学号为52)

.****新建表单属性change ****表单的Form1的Init事件代码: thisform.change=0 ****时钟控件Timer1的Timer事件代码: if thisform.label1.fontsize=52

thisform.change=1 endif if thisform.label1.fontsize=4

thisform.change=0 endif if thisform.change=0 thisform.label1.fontsize=thisform.label1.fontsize+1 else

thisform.label1.fontsize=thisform.label1.fontsize-1 endif thisform.refresh

三、与表相关的表单设计(单表)

1.要求:(1)编制一个表单完成表文件“学生.dbf”内容的只读浏览显示功能;(如图1)(2)表单初始显示内容为表文件“学生.dbf”内容的首记录;

(3)表单内容将以10秒为间隔自动刷新,即自动向后翻记录,当翻至表底时,瘵自动回到首记录循环翻动。

 表单的Form1的Init事件代码:

THIS.SETALL(”READONLY“,.T.,”TEXTBOX“)GO TOP THISFORM.REFRESH  时钟控件Timer1的Timer事件代码: SKIP IF EOF()

GO TOP ENDIF THISFORM.REFRESH

2.要求:(1)编制一个表单完成表文件“学生.dbf“内容的只读浏览显示功能(如图2)(2)表单初始显示内容为表文件“学生.dbf”的首记录(3)当按“前翻”、“后翻”、“首记录”、“末记录”按钮时,表单将自动显示相应记录的内容(4)当翻至表头或表底时,将自动设置相应按钮不可访问。教学时间约

****年**月**日

总第节

审批签字:

 表单的Form1的Init事件代码:

THIS.SETALL(”READONLY“,.T.,”TEXTBOX“)Sele 学生 GO TOP THISFORM.REFRESH  “首记录”按钮Command1的Click事件代码:

go top thisform.command2.enabled=.t.thisform.command3.enabled=.t.thisform.command4.enabled=.t.thisform.command1.enabled=.f.thisform.refresh  “前翻”按钮Command2的Click事件代码:

skip-1 if bof()thisform.command1.enabled=.f.this.enabled=.f.endif thisform.command3.enabled=.t.thisform.command4.enabled=.t.thisform.refresh

 “后翻”按钮Command3的Click事件代码:

skip if eof()thisform.command3.enabled=.f.thisform.command4.enabled=.f.endif thisform.command1.enabled=.t.thisform.command2.enabled=.t.thisform.refresh

 “末记录”按钮Command4的Click事件代码: go bottom thisform.command1.enabled=.t.thisform.command2.enabled=.t.thisform.command3.enabled=.t.thisform.command4.enabled=.f.thisform.refresh 3.要求:(1)编制“学生“表信息查询界面

(2)查询与用户指定的学生姓名相匹配的记录,并显示指定学生的所有信息。

  

List1的Rowsourcetype为“6-字段”,Rowsource为“学生.姓名”;文本框Text1~Text5的数据源属性分别为学生表中对应字段 所有文本框Text的ReadOnly属性为“.T.”; 表单的Form1的Init事件代码: use 学生

thisform.setall(”visible“,.f.,”textbox“)thisform.setall(”visible“,.f.,”label“)thisform.label1.visible=.t.thisform.refresh 列表框List1的Interactivechange事件代码: thisform.setall(”visible“,.t.)thisform.refresh

(四)小结 【教学后记】

教学时间约

****年**月**日

总第节

审批签字:

【课题】表单练习(6)

本课(章、节)共 2 课时,本课时为第1、2 课时,课的类型:实习课 【教学目标】熟悉表单的操作与命令 【教学重点】表单的操作与命令 【教学难点】表单的操作与命令 【教学方法】讲授法、实验法 【教学过程及板书设计】

(一)前提测评:

(二)目标展示:表单的操作与命令

(三)导学达标:

4.要求:(1)编制“学生表”信息查询界面(2)显示指定学生的所有信息。

  

Combo1的Rowsourcetype为“6-字段”,Rowsource为“学生.姓名”;文本框Text1~Text5的数据源属性分别为学生表中对应字段 所有文本框Text的ReadOnly属性为“.T.”; 表单的Form1的Init事件代码: use 学生

thisform.setall(”visible“,.f.,”textbox“)thisform.setall(”visible“,.f.,”label“)thisform.label1.visible=.t.thisform.refresh 组合框Combo1的Interactivechange事件代码: thisform.setall(”visible“,.t.)thisform.refresh

5.要求:编制“学生”表信息查询界面,查询与用户输入的学生学号相匹配的记录,并显示指定学生的所有信息。

 Label3、Label4、Label5、Label6的Caption属性分别设置为“姓名:”、“性别:”、“出生年月:”、“奖学金:”,并设置所有文本框的数据源属性为学生表中的对应字段  标签Label2的Forecolor属性为“255,255,255”

 除学号文本框,所有文本框Text的ReadOnly属性为“.T.”;  表单的Form1的Init事件代码:

use 学生

thisform.setall(”visible“,.f.)thisform.label1.visible=.t.thisform.text1.visible=.t. 文本框Text1的Valid事件代码:

loca for alltrim(学号)=alltrim(this.value)if found()

thisform.label2.caption=”“

thisform.setall(”visible“,.t.)else

thisform.setall(”visible“,.f.)

thisform.label1.visible=.t.thisform.text1.visible=.t.thisform.label2.visible=.t.thisform.label2.caption=”您所指定的学生并不存在!“ endif thisform.refresh

6.要求:(1)编制一个界面程序,实现将用户指定的表文件的字段名列表显示(2)系统自动查询用户指定的表文件是否存在,存在则列表显示指定表文件的所有字段名信息,否则给出信息提示框 教学时间约

****年**月**日

总第节

审批签字:

 Form1的Init事件的代码:

Thisform.label2.visible=.f.Thisform.list1.visible=.f. Text1的Valid事件的代码

fn=alltrim(this.value)+ ”.dbf“ if file(fn)thisform.setall(”visible“,.t.)thisform.list1.clear

use(fn)for i=1 to fcount()

thisform.list1.additem(field(i))endfor else Thisform.label2.visible=.f.Thisform.list1.visible=.f.messagebox(”指定的表文件不存在!“,0+64, ”表文件存在判断“)endif thisform.refresh

7.编制一个表单完成学生成绩信息查询显示功能(界面如图所示)。要求(1)当输入学生 9.要求:(1)编制一个表单完成表文件“学生.dbf”内容的查询显示功能(2)当用户在组合框(下拉列表)选择班级(学号的左三位)后,表单将自动显示对应班级的奖学金总额

(3)按“退出”按钮时,自动关闭表单。

 表单Form1的Init事件代码:

sele 学生

index on left(学号,3)to xh unique scan thisform.combo1.additem(left(学号,3))endscan  组合框Combo1的Valid事件代码:

set talk off Sum 奖学金 to jxj for left(学号,3)=this.value Thisform.twxt1.value=jsj  “退出”按钮Command1的Click事件代码:

thisform.release 10.要求:(1)编制一个表单完成表文件“学生.dbf”“成绩.dbf”内容的查询显示功能(2)当用户在组合框(下拉列表)选择班级(学号的左三位)后,表单将自动显示对应班级的所有学生的总平均成绩

(3)按“退出”按钮时,自动关闭表单。

 表单Form1的Init事件代码:

Set talk off index on left(学号,3)to xh unique scan

thisform.combo1.additem(left(学号,3))endscan set index to  组合框combo1的Valid事件代码:

set talk off average成绩 to cj for left(学号,3)=this.value thisform.text1.value=cj  “退出”按钮Command1的Click事件代码: thisform.release

(四)小结 【教学后记】 教学时间约

****年**月**日

总第节

审批签字:

【课题】表单练习(7)

本课(章、节)共 2 课时,本课时为第1、2 课时,课的类型:实习课 【教学目标】熟悉表单的操作与命令 【教学重点】表单的操作与命令 【教学难点】表单的操作与命令 【教学方法】讲授法、实验法 【教学过程及板书设计】

(一)前提测评:

(二)目标展示:表单的操作与命令

(三)导学达标:

11.编制一个表单完成数据转移操作功能

 命令按钮“添加一项”command1的click事件代码:

thisform.list2.additem(thisform.list1.value)thisform.list1.removeitem(thisform.list1.listindex)&&“添加一项”将list1内容移到list2,即list1的内容减少一项(removeitem),list2的内容增加一项(additem)。thisform.refresh  命令按钮“全部添加”command2的click事件代码:

thisform.list1.clear thisform.list2.clear scan thisform.list2.additem(姓名)endscan &&“全部添加”将list1内容全部移到list2,即list1全部清空(clear),list2内容为学生表的“姓名”。thisform.refresh  命令按钮“移去一项”command3的click事件: thisform.list1.additem(thisform.list2.value)thisform.list2.removeitem(thisform.list2.listindex)&&“移去一项”将list2的内容移到list1,list2减少一项(removetiem),list1增加一项(additem)。thisform.refresh  命令按钮“全部移去”command4 的click事件: thisform.list2.clear thisform.list1.clear scan thisform.list1.additem(姓名)endscan &&“全部移去”将list2内容全部移到list1,即list2全部清空(clear),list1内容为学生表的“姓名”。

thisform.refresh

12.要求:(1)编制一个列表框数据转移操作表单;(2)当在左边显示学生姓名的窗口选择某个学生后,单击“选择一项”按钮,左边的列表中的所选中的单项信息将自动转移到右边的列表框中;(3)当在右边显示学生姓名的窗口选择某个学生后,单击“退还一项”按钮,右边的列表中选中的单项信息将自动转移到左边的列表框中。

*****表单Form1的init事件代码: 教学时间约

****年**月**日

总第节

审批签字:

this.list2.rowsourcetype=0 this.list2.rowsource=” this.list12.sorted=.t.this.list1.rowsourcetype=0 this.list1.rowsource=”” use 学生 scan

this.list1.additem(姓名)endscan *****命令按钮”选择一项”command1的click事件代码: thisform.list2.additem(thisform.list1.value)thisform.list1.removeitem(thisform.list1.listindex)thisform.refresh *****命令按钮”退还一项”command2的click事件代码: thisform.list1.additem(thisform.list2.value)thisform.list2.removeitem(thisform.list2.listindex)thisform.refresh

13.要求:在文本框中输入一个工资金额数,从数据表文件gzb.dbf(工资表)中查找高于此工资数男女人数,利用标签输出统计结果。

*****统计按钮command1的click事件代码: select gzb count to x for 工资>val(thisfom.text1.value)and 性别=.t.count to y for 工资>val(thisform.text1.value)and 性别=.f.thisform.label2.caption=”工资超过”+thisform.text1.value+”的男职工人数为:”+str(x,4)thisform.label3.caption=”工资超过”+thisform.text1.value+”的女职工人数为:”+str(y,4)14.四、与表相关的表单设计(多表)

15.要求:(1)编制一个表单完成表文件“课程.dbf”“成绩.dbf”内容的查询显示功能

(2)当用户在组合框选择课程名后,表单将自动显示对应课程的所有学生的总平均成绩

(3)按“退出”按钮时,自动关闭表单。

 组合框Combo1的RowSouceType属性为“6-字段”,RowSouce属性为“课程.课程名”。 组合框Combo1的Valid事件代码:

set talk off select 课程 kch=课程号 select 成绩

average 成绩 to cj for 课程号=kch thisform.text1.value=cj  “退出”按钮Command1的Click事件代码:

thisform.release

(四)小结 【教学后记】

教学时间约

****年**月**日

总第节

审批签字:

【课题】表单练习(8)

本课(章、节)共 2 课时,本课时为第1、2 课时,课的类型:实习课 【教学目标】熟悉表单的操作与命令 【教学重点】表单的操作与命令 【教学难点】表单的操作与命令 【教学方法】讲授法、实验法 【教学过程及板书设计】

(一)前提测评:

(二)目标展示:表单的操作与命令

(三)导学达标:

16.要求:(1)编制一个表单完成表文件“学生.dbf”“成绩.dbf”内容的查询显示功能(2)当用户在组合框(下拉列表)选择姓名后,表单将自动显示对应学生的平均成绩(3)按“退出”按钮时,自动关闭表单。

 组合框Combo1的RowSouceType属性为“6-字段”,RowSouce属性为“学生.姓名”。 组合框Combo1的Interactivepage事件代码:

set talk off select 学生 xh=学号 select 成绩

average 成绩 to cj for 学号=xh thisform.text1.value=cj  “退出”按钮Command1的Click事件代码:

thisform.release

17.要求:(1)编制一个表单完成表文件“学生.dbf”、“成绩.dbf”、“课程.dbf”内容的编辑浏览显示功能

(2)三个表文件分别显示在三个不同的页面上(3)未被激活的页面自动设为不可访问

 Timer1的Interval属性设置为10000  Timer1的Timer事件的代码:

P=Thisform.PageFrame1.ActivePage P=P+1 IF P>3

P=1 ENDIF

Thisform.PageFrame1.SetAll(”Enabled“,.F.,”Page")Thisform.PageFrame1.Pages(P).Enabled=.T.Thisform.PageFrame1.ActivePage=P

18.要求:(1)编制一个学生成绩查询表单,表单中的显示学生信息的窗口的指针移动时,在另一个窗口可以自动显示出对应那个学生所所有成绩信息。

*****Form1的init事件代码: sele 成绩 教学时间约

****年**月**日

总第节

审批签字:

inde on 学号 to xh sele 学生

set rela to 学号into 成绩

19.要求:(1)编制一个表单完成表文件“学生.dbf”“成绩.dbf”“课程.dbf”内容的编辑浏览显示功能;(2)三个表文件分别显示在三个不同的页面上;(3)当在选项按钮组选择某个表文件时,页框中的页会自动翻页,即自动翻动为与选择的表文件对应的页;(4)未被激活的页面自动设为不可访问

*****Form1的init事件代码: thisform.pageframe1.setall(“enabled”..f.,”page”)thisform.pageframe1.page1.enabled=.t.*****Optiongroup1的click事件代码: thisform.pageframe1.setall(“enabled”,.f.,”page”)do case

case this.value=1

thisform.pageframe1.page1.enabled=.t.thisform.pageframe1.activepage1=1 case this.value=2

thisform.pageframe1.page2.enabled=.t.thisform.pageframe1.activepage=2 case this.value=3 thisform.pageframe1.page3.enabled=.t.thisform.pageframe1.activepage=3 endcase 20.要求:(1)编制一个小型文本编辑器,界面见下图;(2)文字信息从键盘输入至edit框;(3)三个单选按钮分别用于设置“宋体”、“黑体”和“隶书”;(4)三个check按钮用设置字体的“倾斜”、“加粗”和“下划线”;(5)字号用微调控件实现

***optiongroup1的click事件代码: do case case this.value=1 thisform.text1.fontname=”宋体” case this.value=2 thisform.text1.fontname=”楷体” case this.value=3 thisform.text1.fontname=”隶书” endcase ***check1的click事件代码: if this.value=1 thisform.text1.fontbold=.t.else thisform.text1.fontbold=.f.endif ***check2,3的代码类似于check1 ***spinner1的upclick事件代码

thisform.text1.fontsize=thisform.text1.fontsize-1 ***spinner1的downclick事件代码

thisform.text1.fontsize=thisform.text1.fontsize+1

(四)小结 【教学后记】

第二篇:Vf练习1-5

Vf练习1—51、任意一个数,若能被7或3整除,则输出该

3、从键盘上连续输入10组数,分别输出每数和,对输入进行规定,每组数的结束标志为“0” ENDDO I=I+1 J=1

数,最后释放所有的内存变量 SET TALK OFF

INPUT “输入一个数”TO X?[24]ENDIF

RETURN1、下面程序的功能是计算1——100之间所有整数的平方和并输出结果 S=0

DO WHILE X<100ENDDO ?S RETURN1、编程求1——1000之间被3整除又被5整除的个数及其和。N=0 S=0 K=1

S=S+K ENDIF K=K+1 ENDDO ?N,S RETURN

K=1

?”请输入第”+“组数” S=0 X=1

INPUT “请输入下一个数:”TO X ENDDO

?”第”+[11]+“组数之和”,S K=K+1 ENDDO RETURN4、编写程序,要求从键盘输入9个数,按从小到大的顺序排列并显示出来。CLEAR

I=1

INPUT TO K(I)I=I+1 ENDDO I= 1

T=K(I)K(I)=K(J)K(J)=T ENDIF

ENDDO I=1

DO WHILE I<10I=I+1 ENDDO RETURN3、键盘输入10个数,输入最小数 SET TALK OFF CLEAR K=1

INPUT “请输入第1个数:” TO AINPUT “请输入第2个数:” TO BENDIF

?“最小数”,A SET TALK ON RETURN4、从键盘输入10个数,按从小到大的顺序输出

SET TALK OFF CLEAR

I=1

DO WHILE I<=10 INPUT TO M(I)

I=1

T=M(J)M(J)=M(J+1)M(J+1)=T ENDIF

ENDDO I=I+1 ENDDO I=1

DO WHILE I<=10 I=I+1 ENDDO SET TALK ON RETURN4、计算10!+15!+20!+25!CLEAR I=10 T=0

S=0

ENDDO ?T ENDDO RETURN

子程序功能计算P=N!*子程序PRO1.PRG

PARAMETERS P,N,PL=L+1 ENDDO6、编写一个子程序计算N的阶乘,在主程序中计算3!+5!+7!+9!+11!。*主程序JCS.PRG SET TALK OFF CLEAR STORE 0 TO S,K

DO JC1

NEXT

RETURN *子程序JC1.PRG *计算N!的阶乘

STORE(24)TO L,K FOR L=1 TO N(25)NEXT RETURN3、已知一数列的前三个数:0,0,1以后每个数为前三个数的和,求该数列的前20个数。F1=0 F2=0 F3=1

?F1,F2,F3 I=

4??F4

I=I+1 ENDDO SET TALK ON RETURN3、程序的功能是:从键盘上输入10个正数放在一维数组X中,然后显示最大的数组元素及其下标

(10)MAX=0 C=1

FOR K=1 TO 10 INPUT„输入‟+‟第‟+STR(K)+‟个数据‟NEXT KMAX=X(1)FOR K=2 TO 10

IF(12)(13)C=K

(14)ENXT K ?MAX,C1、下列程序的功能是完成建立索引文件,输入表文件名,索引关键字(字符型)和索引名,运行后生成一个按输入关键字进行索引的索引文件之后显示索引文件和索引扣的数据,最后关闭文件

SET TALK OFF

ACCEPT “输入表文件名:” TO FNAME ACCEPT “输入索引关键字:” TO KEY ACCEPT “输入索引名:” TO INAME

INDEX ON [2]TAG [3]

?“索引名”+[4]USE RETURN2、已知XSCJ.DBF有如下的记录,编程计算每个学生的总分,总分=英语+语文+数学,并根据总分给每个学生填入内容:总分>=240等级为‘优’;180<=总分<240分等级为‘良’;总分<180分等级为‘不及格’ 姓名 英语 语文 数学 总分 等级 张山 90 80 65李四 60 75 70王五 80

SETTALK OFF

CLEAR USE XSCJ

GO TOP

DO WHILE NOT EOF()DO CASE CASE总分>=240

REPLACE 等级别 WITH “优” REPLACE 等级别 WITH “良” CASE总分<180ENDCASE

ENDDO USE RETURN5、在XSCJ.DBF表文件中查找一位学生根据其

平均分判断该生的学生情况 CLEAR

[20]ACCEP“请输入学号:” TO XH LOCATE[21]IF[22][23]CASE平均分>=80 ?“成绩优秀!” CASE平均分>=60 ?“成绩及格!” OTHERWISE

?[24]ENDCASE

?“查无此人!” ENDIF USE RETURN

已知表文件XS.DBF有三个字段:姓名/C/ 8,团员/L,团员/L,出生日期/D

1,编写程序,显示XS.DBF中所有团员同学的名单。CLEARUSEXSGO 1

DO WHILE[1]____________________IF[2]_____________________[3]________________________姓名ENDIF

[4]_________________________ ENDDO

[5]_________________________ RETURN

2._编写程序,在中查找并显示1992年出生的同学。CLEAR

DO WHILE NOT EOF()ENDDO USERETURN1、现在学生表XS.dbf,试用scan循环显示学生表中男生的情况 CLEAR

SCAN

LOOPENDIF

ENDSCAN USE RETURN2、在学生表文件中“年龄”字段为N型,“标志”字段为L型,通过索引查询显示所有年龄为20的学生记录,然后把记录11到末记录的标志字段设置为.T.SET TALK OFF USE 学生

INDEX ON 年龄 TAG NLDO WHILE NOT EOF()DISPLAY

IFEXIT ENDIF ENDDO

USESET TALK ON RETURN2、阅读下列程序并将程序填写完整 STORE “Y” TO YN USE SP1

INDEX ON 品牌 TAG PIN SET ORDER TO PIN

DO WHILE(4)ACCETP“请输入查询的品牌:” TO CHX SEEK(5)IF(6)DISPLAY(7)?“无此品牌商品!”(8)

WAIT“继续查找吗?(Y/N)” TO YN IF(9)EXIT

(8)ENDDO RETURN4、设数据表文件PHONE.DBF中包含了“姓名”、“电话”和“地址”三个字符型字段。以下程序的功能是打开表,按用户输入的任一电话号码进行查找,如查存在该号码,则显示其单位地址,关闭文件并结束程序,请将补充程序。

(15)DO WHILE.T.PHN=SPACE(8)

ACCEPT”请输入电话号码” to PHN LOCATE FOR PHN=电话 IF(16)?“单位地址:”+地址 USE

(17)ENDIF ENDDO5、输入要删除的记录号且记录号不超过XJ表的记录范围 USE

(18)C=RECCOUNT()IF C>=N

DELETE

ENDIF5、从键盘输入一个字符串,然后按组成字符串字符的倒序输入单个字符,在输出过程中如遇到空格字符便停止输出。

ACCEPT“输入一个字符串:” TO ST

IF SUBSTR(ST,N,1)=SPACE(1)ELSE

ENDIF ENDDO

RETURN5、编写打印如下图形。ABBBCCCCC

DDDDDDD

I=1

J=

1ENDDO

ENDDO RETURN

4、打印图形**************** SET TALK OFF CLEAR

S=1

??”*” S=S+1 ENDDO

ENDDO RETURN

第三篇:VF教案31-40

第31课时 使用向导创建视图

一、教学目的 使学生通过本节的学习,使学生能利用创建一个视图。

二、教学重难点 使用向导创建视图和查询的区别

三、教学方法 举例 讲授 演示

四、教学过程

同学们,在使用视图向导创建视图时,向导会自动列出创建视图的步骤,用户根据向导提供的提示完成相应的操作,即可正确的建立视图。

下面我来介绍一下创建视图的几个步骤:

(1)字段选取。选择数据库,数据库中的表和表中的字段。如果当前已经打开了一个数据库,则第一步的对话框中显示的是创建当前数据库的视图,也可以选择其它的数据库。

(2)关联表。建立数据库中表与表之间的关系。

(3)包含记录。指定包含表中的全部记录还是仅匹配的记录。(4)筛选记录。选定符合条件的记录。

(5)排序记录。为选定的记录按照某一字段进行排序。

(6)限定记录。定制显示一定数量的记录。(7)完成视图。选择保存视图后浏览还是修改。

例:创建包含Grade表和Courses表的本地视图“视图1”。

字段选择完成后,单击【下一步】,步骤2——为表建立关系。说明:在这一步要建立用来建立本地视图的表间的关系。

1、先在父表字段选择下拉选择框中选择要用来建立关系的主关键字;

2、再在子表字段选择下拉选择框中选择用来建立关系的子表关键字;

3、单击【添加】,将设定关系添加到关系列表框中。

关系设置完成后单击【下一步】进入到步骤2a——字段选取对话框。

本例中选用默认值:仅包含匹配的行。然后单击【下一步】,进入步骤3——筛选记录。说明:

仅包含匹配的行:生成的本地视图中只包含表中关系相匹配的记录,对应于关系中的内联接的设置结果。

此表中所有的行:生成的本地视图中包含Grade表中的全部记录和子表中关键字段相匹配的记录,对应于关系中的左联接的设置结果。

两张表中所有的行:生成的本地视图中包含表中所有的记录,对应于关系中的完全联接的设置结果。小结:

第32课时

使用向导创建视图(2)

一、教学目的 使学生通过本节的学习,使学生能利用创建一个视图。

二、教学重难点 使用向导创建视图和查询的区别

三、教学方法 举例 讲授 演示

四、教学过程

本地视图向导:步骤3——筛选记录

说明:本地视图向导的筛选记录与查询向导的筛选记录的方式类似。在本例中不筛选记录。

单击【下一步】,进入到本地视图向导的步骤4——排序记录。本地视图向导:步骤4——排序记录

说明:在这一步中设置在本地视图的记录顺序。

本例中可先按“学号”排序,学号相同的再按“课程代号”排序。

操作方法与建立查询的记录排序方法相同。先在“可用字段”列表框中选择“学号”,然后单击【添加】,再选择“课程代号”,再单击【添加】如上图。排序字段及顺序设置后单击【下一步】,进入本地视图向导:步骤4a——限制记录。本地视图向导:步骤4a——限制记录

限制记录的方法与建立查询的限制记录的方法完全相同。在本例中仍保持在本地视图中包含所有的记录,因而取默认值,直接单击【下一步】,进入本地视图向导:步骤5——完成。

在第5步中的操作方法也与建立查询的方法相同,现选择“保存本地视图并浏览”,然后单击【完成】。弹出“视图名”对话框

在“视图名”文本框中输入“视图1”

输入视图名后单击【确认】按钮,系统显示所建立的本地视图的结果。本地视图向导结束。

小结:我们利用了两节课的时间来学习了使用视图向导来创建视图的方法,创建视图的方法其实和创建查询的方法是基本相同的,同学们下去要多加把握一下。

第33课时

利用视图设计器创建本地视图

一、教学目的 使学生通过本节的学习,使学生能利用创建一个视图。

二、教学重难点 使用向导创建视图和查询的区别

三、教学方法 举例 讲授 演示

四、教学过程 前面我们学习了使用视图向导来创建一个视图,和查询时一样的,视图也可以利用视图设计器来创建一个视图,通过本地视图向导建立数据库视图虽然方便,快捷,但这仅对入门者如此,何况用视图向导建立数据库视图最终还要依赖视图设计器。因此,倾向独立进行开发的程序员来说,仅仅学会使用向导是远远不够的,还应学会使用视图设计器的强大功能来创建视图。(1)进入视图设计器

进入视图设计器的方法与进入查询设计器的方法基本相同,下面以新建视图的方式进入视图设计器。启动视图设计器方法

新建一个视图可按以下步骤进入视图设计器:

■选择【文件】|【新建】命令,单击“视图”单选框,再单击【新建文件】按钮。

■在数据库设计器中,选择【数据库】|【新建本地视图】或单击数据库设计器的快捷菜单中的【新建本地视图】|【新视图】按钮。

■在项目管理器中,单击“数据”选项卡,在列表框中选定“本地视图”,再单击【新建】按钮,单击【新建视图】按钮。修改一个视图可按以下步骤进入视图设计器:

■在数据库设计器窗口中,单击选定需要修改的视图,选择【数据库】|【修改】命令。

■在数据库设计器窗口中,右击需要修改的视图,在出现的快捷菜单中选择【修改】命令。■在项目管理器中,单击【数据】选项卡,在列表框中选定需要修改的视图,单击【修改】按钮。

“视图设计器”工具栏说明

添加移去添加联显示SQL窗口 最大化上部窗

添加表:显示“添加表或视图”对话框,从而可以向设计器窗口添加一个表或视图

移去表:从设计器窗口的上窗格中移去选定的表。添加联接:在视图中的两个表之间创建联接条件

显示/隐藏SQL窗口:显示或隐藏建立当前视图的SQL语句 最大化/最小化上部窗口:放大或缩小视图设计器的上窗格(2)从表中选择所需字段

在进行本地视图设计器之前,先建立Classzc表和Department表,表结构和数据如下:

小结:我们利用本节课讲授了使用视图设计器创建本地视图的一部分内容,剩下的内容我们将在下一节课中继续向大家讲授。

第34课时

利用视图设计器创建本地视图(2)

一、教学目的 使学生通过本节的学习,使学生能利用创建一个视图。

二、教学重难点 使用向导创建视图和查询的区别

三、教学方法 举例 讲授 演示

四、教学过程

从中选定表Classzc并单击【添加】按钮,然后单击【关闭】按钮,启动视图设计器。

进入视图设计器后,第一步先需要选定字段,选定字段可直接通过字段选项卡进行。其操作方法与查询设计器中选择字段的方法相同。

从“可用字段”列表框里选定Classzc.班级简称字段,单击【添加】按钮或双击该字段,则Classzc.班级简称字段将会出现在右边的“选定字段”列表框中。本次建立的视图里,还需要选定Classzc.学习性质、Classzc.学制二个字段。它们选定的方法与选定Classzc.班级简称字段一样。如果需选定字段是“可用字段”列表框中的所有字段,可以单击【全部添加】按钮,这样就把所有字段添加到了“选定字段”列表框中去了,可以通过【移去】按钮将其移出来。如果需要全部移出,可以利用【全部移去】按钮快速移出。

要将表中的字段添加到“选定字段”列表框中,除了上述方法外,还可以将鼠标指向视图设计器上部窗口中的表窗口中的字段上,按住鼠标左键或右键拖动一个字段到“选定字段”列表框,该字段就被加入到了“选定字段”列表框中。还可以通过双击字段名将其加入到“选定字段”列表框。表窗口中的*代表表中的全部字段,它也是可以拖动或双击的。若要从“选定字段”列表框中移去字段,也可以使用鼠标拖动或双击。“字段”选项卡还有一个【属性】按钮和一个“函数和表达式”文本框。只要“选定字段”列表框中有一个值,【属性】命令按钮就成为可选的了。选择【属性】后,(3)建立多表关联

前面主要是针对单一的本地表建立视图,虽然很容易,但它的实际功能不大。因为在实际开发中,系统的数据库很复杂,表的关联性很强,用户关心的往往是一些复杂的数据,因此需要建立多表视图。

(4)与设计多表查询不相同的部分——更新条件

视图的最大特点在于能用视图更新数据,这也是建立视图与建立查询的主要区别,也是视图的重点所在。视图设计器中的“更新条件”选项卡可以用来设置允许视图更新表字段的条件。

“更新条件”选项卡选项包括如下内容:

■“表”:指定视图所使用的哪些表可以修改。选择这个下拉列表框中的选项,可以确定哪些表中的字段可以在“字段名”列表框中,以便设置更新条件。此列表中所显示的表都包含了“字段”选项卡“选定字段”列表中的字段。■【重置关键字】:这个按钮作用是从每个表中选择主关键字字段作为视图的关键字字段。每个主关键字字段是在“字段名”列表中的、在钥匙符号下面打一个对钩的字段,关键字字段可

小结:我们利用两节课的时间向同学们介绍了有关使用视图设计器来创建视图的方法。同学们下去一定要好好的把握。

第35课时

使用视图

一、教学目的 使学生通过本节的学习,使学生能学会在VF中使用视图。

二、教学重难点 使用视图

三、教学方法 举例 讲授 演示

四、教学过程

同学们,建立视图后,不但可以用它来显示和更新数据,而且还可以通过调整它的属性来提高性能。处理视图类似处理表,可以: ■使用USE命令并指定视图名来打开一个视图。■使用USE命令关闭视图。■在【浏览】窗口中显示视图。

■在【查看】窗口中显示已打开的视图的别名。■将视图作为数据源,供表单或表格控件使用。若要使用一个视图,可采取如下方法:

■在项目管理器中先选择一个数据库,再选择视图名,然后单击【浏览】按钮,在【浏览】窗口中显示视图。■使用编程的方式访问视图。

下面的代码在【浏览】窗口中显示存放在c:gxglxt目录下gxglxt数据库中的视图1:

open database c:gxglxtgxglxt use 视图1 browse

在使用一个视图时,视图将作为临时表在自己的工作区打开。如果此视图基于本地表,则VFP6会在另一个工作区同时打开基表。如果没有打开任何表,或先执行Close All命令后再执行以上命令,则视图1在工作区1打开,而其基表则在工作区2打开。要查看基表,可以通过选择系统菜单上的【窗口】|【数据工作期】打开“数据工作期”窗口。但有一个例外,如果视图是基于远程表,则基表将不在工作区中打开。而只在【查看】窗口中显示远程视图的名称。

小结:本节主要介绍了又关打开和关闭视图的方法。

第36课时

视图的编辑

一、教学目的 使学生通过本节的学习,使学生能对视图进行编辑,及修改删除等操作。

二、教学重难点 视图的修改

三、教学方法 举例 讲授 演示

四、教学过程

同学们,有时用户只想了解视图的结构,而不关心视图中的数据。这样可以使用带NODATA子句的USE命令来快速显示视图的结构。例如: open database c:gxglxtgxglxt use 视图1 nodata in 0 Select 视图1 browse 通过运行上面的命令语句,将在【浏览】窗口中看到没有记录的视图1。因为使用NODATA子句时,VFP6为视图1创建一个永远返回.F.值的WHERE子句,而数据源上没有记录匹配WHERE子句的条件,所以没有记录被选择。

重新命名视图

建立一个视图以后,还可以为其重新命名视图,进行视图的重新命名,可以使用项目管理器或用RENAME VIEW命令。

■在项目管理器中先选择一数据库,再右击要重新命名的视图。单击【重命名】按钮,出现一对话框后即可为视图输入新的名称。

■使用RENAME VIEW命令。

例如,下面的代码将视图2重新命名为视图1: rename view 视图1 to 视图2 说明:在重新命名视图之前,必须打开包含要命名视图的数据库。

删除视图

视图同表一样也是可以删除的,删除视图可以使用项目管理器或使用DELETE VIEW命令。■在项目管理器中选择一个数据库,再选择要删除的视图,然后用鼠标右击,单击【移去】按钮,即可删除所选的视图。

使用DELETE VIEW命令。

例如,如果要删除数据库xsglxt中的视图2,可以键入以下的命令语句: delete view视图2 说明:在删除视图之前,必须打开包含要删除视图的数据库并设置其为当前数据库。

创建视图索引

同为表建立索引一样,也可以为视图建立索引。但与表不同的是,在视图上创建的本地索引不能永久保存,它们随着视图的关闭而消失。为视图建立本地索引,可以使用INDEX ON命令。关于该命令的参数,在创建表的索引时已有介绍。另有一点需要注意的是,在决定是否在视图上建立索引时,要考虑视图结果集合的大小。对于一个大的结果集合来说,索引要花费很长的时间,并可能降低视图的性能。因此,要根据实际情况处理。

小结:本节课主要介绍了有关视图的编辑,如修改视图结构,删除视图,重命名视图的方法等,同学们一定要好好的把握。

第37课时

创建参数化视图

一、教学目的 使学生通过本节的学习,使学生能熟练的创建一个参数化视图。

二、教学重难点 创建参数化视图

三、教学方法 举例 讲授 演示

四、教学过程 VFP可以创建具有提示输入值来查询信息的视图,称为参数化视图,这样的视图具有更大的灵活性和更强的适应性。可避免每取一部分记录值就要建立视图的情况。

可用以下方法创建参数化视图:

(1)打开视图设计器,从【查询】菜单中选择【视图参数】命令,此时系统弹出视图参数对话框,如图所示:

2)在视图参数对话框中输入参数名及其数据类型。此例中建立一个名为“系部代号”的视图参数,此视图参数可以任意取,但数据类型要和所要查询的记录类型一致。参数名可以是字母字符、数字和单引号的任意组合。(3)按下确定按钮,就为此视图建立了一个视图参数了。下面设计一个带参数的视图(视图4):

(1)打开“视图设计器”,选定表Classzc、Student、Course和Grade四个表,并选取.Classzc.系部代号、Classzc.班级名称、Student.学号、Student.姓名、Course.课程名、Grade.开课学期、Grade.课程成绩这7个字段名作为输出字段。(2)在“筛选”选项卡中的“字段名”下拉列表框中选择Classzc.系部代号,在“条件”列表框中选定“=”,在“实例”文本框中输入“?系部代号”。这个问号表示引用一个表达式所需要的参数。问号后的文字标识了这个参数的名称。同时还可以设定如“Grade.开课学期=‘?开课学期’”。(3)选择【查询】|【视图参数】,进入“视图参数”对话框,在“参数名”文本框中输入参数名称“系部代号”,在“类型”下拉列表框中选定参数的类型为“字符型”,同样还输入“开课学期”、“字符型”,然后单击【确定】按钮。

(4)通过选择【查询】|【运行查询】命令,或通过单击鼠标右键再选择【运行查询】命令,系统弹出如图所示的视图参数对话框。

在此对话框中可以输入将要查询的参数的某一具体数值,在此输入“05”;在后面弹出的“输入一个字符型值,供‘开课学期’使用”对话框中输入“第1学期”。

单击确定按钮,查询的结果即显示在屏幕上。

说明:教师在大屏幕上演示具体的操作过程,学生仔细观察,然后自己在电脑上进行实践。

第38课时

利用视图更新数据

一、教学目的 使学生通过本节的学习,使学生能熟练的利用视图来更新数据。

二、教学重难点 更新数据的方法。

三、教学方法 举例 讲授 演示

四、教学过程 同学们,我们说过,视图和查询最大的区别就是,查询不能对数据进行更新,而视图是可以的,我们这节课就学习如何对视图中的数据进行更新。

在项目管理器中选择“视图3”,单击【修改】,在视图设计器中选择“字段”选项卡,如图。

在上图中,请注意Grade表中的字段。选择“更新条件”选项卡,进行如图设置:

■设定关键字段和可修改字段。

注意:因为表Grade中每个字段的值都不唯一,所以要用组合关键字(学号+课程代号+开课学期)

■存档并显示结果。选【文件】|【保存】或从工具栏中单击保存按钮保存此视图。选取菜单【查询】|【运行查询】查看结果,为视图参数输入“04”(带定界符)、“第1学期”后的运行结果如图 :

■修改视图数据。既然我们已经为视图3视图文件设定关键字段与可更新字段,也就是设定了视图文件中哪些字段可以经过修改而自动更正原始数据文件内容,现在就来验证这些设定是否生效。

将视图中最后一条记录的“课程成绩”由62改为99。

更改完毕后操作光标离开这条记录,观察Grade表中相关记录变化的情形。

从结果可以看出:Grade表中的学号和课程成绩已随着视图文件的更改而自动修正了。表示我们设定的可更新字段生效。

说明:教师在大屏幕上边操作边演示,让学生仔细观察。任务1:在学生登记表视图中,把李飞的姓名改为李雄飞。任务2:在各科成绩表视图中,把张三的语文成绩由65改为99.小结:我们本节课主要介绍了有关视图的更新数据的方法,从视图更新数据这在VF中是非常重要的一个内容,同学们一定要仔细体会其中的奥妙。

第四篇:VF基础教案

第2章Visual FoxPro 6.0概述

2.1 Visual FoxPro的安装、启动与关闭 2.1.1 Visual FoxPro 6.0 的安装

中文Visual FoxPro 可以从CD-ROM或网络上安装。以下介绍三种从CD-ROM上安装Visual FoxPro 的方法。

1.直接启动CD-ROM

2.直接运行安装程序

3.使用Windows 安装 2.1.2 Visual FoxPro 6.0的启动与关闭

一、Visual FoxPro 6.0的启动

启动Visual FoxPro有多种方法,可采用以下三种方式之一。

1.从“开始”菜单启动

2.从“运行”对话框中启动

3.从资源管理器中启动

4.双击Visual Foxpro6.0快捷图标

二、Visual FoxPro 6.0的退出

(1)在Microsoft Visual FoxPro主菜单中,打开“文件”菜单,选择“退出”选项;

(2)按Alt+F4组合键;

(3)按Ctrl+Alt+Del组合键,进入“关闭程序”窗口,按“结束任务”按钮;

(4)在Microsoft Visual FoxPro的系统环境窗口,单击其右上角的“退出”按钮;

(5)在“命令”窗口,输入命令Quit。2.2 Visual FoxPro 6.0系统运行环境的配置

Visual FoxPro系统环境的配置,决定了Visual FoxPro系统的操作环境和工作方式。

单击“工具”-> “选项”可以打开选项选窗口,在“选项”窗口中,有12种不同类别的环境选项卡,用户可以根据操作的需要通过“选项”窗口中的各种选项卡,确定或修改设置每一个参数,从而确定Visual FoxPro的系统环境.2.2.1 设置默认工作目录

VF有其默认的工作目录,就是系统文件所在的VF6.0目录,但是,为了管理,用户最好还是设置自己的工作目录以保存所建的文件 设置默认路径的方法: “工具”->“选项”->文件位置 使用命令设置:

SET DEFA TO <默认路径> 功能:设置默认路径 例:

SET DEFA TO D:WMQ SET DEFA TO E:200723 2.2.2 设置日期的表示格式 设置日期时间格式: “工具”->“选项”->“区域”

2.3 Visual FoxPro 6.0的系统窗口

Visual FoxPro的界面

Visual FoxPro界面,是由标题栏、菜单栏、工具栏、工作区、状态栏和命令窗口组成的。

一、标题栏

标题栏位于屏幕界面的第一行,它包含系统程序图标、主屏幕标题、最小化按钮、最大化按钮和关闭按钮5个对象。

二、菜单栏

菜单栏位于屏幕的第二行,它包含文件、编辑、显示、格式、工具、程序、窗口和帮助8个菜单选项。

当单击其中一个菜单选项时,就可以打开一个对应的“下拉式”菜单,在该“下拉式”菜单下,通常还有若干个子菜单选项,当选择其中一个子菜单选项时,就可以执行一个操作。

三、工具栏

Visual FoxPro系统提供了11种常用的工具栏:

(1)常用工具栏(2)布局工具栏

(3)表单控件工具栏(4)表单设计器工具栏

(5)查询设计器工具栏(6)视图设计器工具栏

(7)数据库设计器工具栏(8)报表控件工具栏

(9)报表设计器工具栏(10)调色板工具栏

(11)打印预览工具栏

四、命令窗口

命令窗口位于菜单栏和状态栏之间,是Visual FoxPro系统命令执行、编辑的窗口。在命令窗口中,可以输入命令实现对数据库的操作管理;也可以用各种编辑工具对操作命令进行修改、插入、删除、剪切、拷贝、粘贴等操作;还可以在此窗口建立命令文件并运行命令文件。

在“窗口”菜单下,选择“隐藏”,可以关闭命令窗口;选择“命令窗口”,可以弹出命令窗口。

五、工作区与状态行

状态行位于屏幕的最底部,用于显示某一时刻的管理数据的工作状态。(1)Set Status off/ on,可控制屏幕上的状态行是否出现。

(2)如果当前工作区中没有表文件打开,状态行的内容是空白;如果当前工作区中有表文件打开,状态行显示表名、表所在的数据库名、表中当前记录的记录号、表中的记录总数、表中的当前记录的共享状态等内容。

2.4 可视化管理工具

1、设计器

通过设计器可以方便地对表、表单、数据库、查询和报表等进行管理。

2、向导

通过用户对问题的回答或对选项的选择,向导将创建相应的文件或执行某一项任务。

3、生成器 是一种可视化的辅助工具,用来帮助拥护按要求设计各种控件的表现形式。2.5 Visual Foxpro 6.0的工作方式 Visual FoxPro 6.0提供了两种工作方式:

  交互方式(可执行方式和可视化操作方式)程序方式

2.5.1 交互方式

包括命令执行方式和可视化操作方式。

1、命令执行方式

Visual FoxPro 6.0提供命令方式主要有两种目的,一是对数据库的操作使用命令比使用菜单或工具栏要快捷而灵活;另一方面,熟悉命令操作是程序开发的基础。

Visual FoxPro 6.0提供了命令窗口用于输入执行命令。

Visual FoxPro 6.0中的命令采用近似于自然语言的结构。

Visual FoxPro 6.0中的命令不区分大小写,即命令可以用大写字母也可以用小写字母书写。另外,对于较长的命令可以只输入命令的前四个字母。

Foxpro提供了多条命令,命令中常出现的一些符号有:(P19)

<....> 必选项

[....]

可选项

...|... 择一选项 这些符号在实际使用时不必输入. 命令的一般格式为:

命令动词 [<范围>][fields<字段名表>][for <条件>] 其中:

命令动词:决定此命令的功能,一般为英文动词. 范围:表示记录的操作范围,有]四种形式:

ALL 表示对数据库中的所有记录进行操作。•

RECORD N

表示仅对第N条记录进行操作 •

NEXT N 表示从当前记录开始共N个记录

REST

表示从当前记录开始到文件结束的所有记录

Fileds:说明数据库的字段名称,不选此项,则表示选择所有字段 命令书写规则      任何命令必须以命令动词开头, 大小写不限,其后的各项顺序不限。各子句之间用空格分隔。

命令可缩写成前4个字母,但不提倡

一行写不下时,在行末用续行符“;”,并在下行继续书写 一行只能写一条命令语句

例如,显示xsda数据表中所有不住校的女生的姓名、年龄

use xsda

list all fields 姓名,年龄

for 住校否=.F.and 性别=’女’

2、可视化操作方式

可视化操作方式包括:菜单方式、设计器方式、向导方式。

在VisualFoxpro系统中,通过菜单、窗口、对话框、工具栏等图形界面,可以直接操作数据表、视图、查询、表单、报表等,并以窗口的方式把结果显示给用户。

2.5.2 程序执行方式

Visual FoxPro 6.0提供了一个程序编辑器,可以使用MODIFY COMMAND 命令打开程序编辑器,或者从“文件”菜单中选择“新建”命令,在弹出的“新建”对话框中选择“程序”单选项,最后单击“新建文件”按钮即可打开程序编辑器。

2.6 Visual Foxpro 6.0的主要性能指标 主要性能指标有:

1、每个数据库最多记录数为10亿个

2、每条记录可包含的字段个数最多为225个

3、每条记录最多字符数为655000个字节

4、字段型字段最大宽度(即最多可容纳的字符数)为254个字节。

5、数值型字段最大宽度为20位,精度为16位

6、有32767个工作区,可同时打开的数据库文件最多32767个。

7、可使用的内存变量默认总数位256个,最多为65000个。最大数组个数为65000个,每个数组的最多的元素数为65000个。

第五篇:vf教案13-20

第13课时 创建查询

一、教学目的1、使学生掌握使用查询向导创建查询的方法。

2、理解查询和查找的区别

二、教学重难点 使用查询向导,查询和查找的区别

三、教学方法 举例 讲授 演示

四、教学过程 同学们,我们说VF中最最重要的功能就是它的查询功能了,在本节课中我们将重点来学习VF的查询,理解它的强大的功能。

说明:查找和查询的区别。

同学们,我们如果在一个表中要找到某个记录时,最简单的方法就是选择,编辑菜单下的查找了,它的使用方法和我们平时使用WORD是一样的,但是那是简单查找并不是查询,当我们要查找某些复杂的记录时,我们就要使用VF中的查询功能了。

我们这节课将学习使用查询向导来创建查询的方法。

举例:创建一个查询,在“学生管理”数据库中的“各科成绩”表中查询语文大于60并且数学大于70的学生信息,要求要显示的字段有,学号、姓名、语文、数学。分析:

使用查询向导可以快速创建查询,一般的操作步骤是:(1)选择在查询结果中要显示的字段

(2)设置查询条件来筛选在查询结果中包含的记录(3)设置排序来组织查询结果(4)选择结果输出记录的比例数

启动查询向导可以从“文件”菜单中单击“新建”命令,在“新建”对话框中选择“文件类型”中的“查询”,然后单击“向导”按钮,启动查询向导。

操作:(教师在使用教学系统进行演示,然后说明每一步操作的过程)以查询文件名为“查询1”保存,系统默认的扩展名为.qpr。提高

建立查询后,如果要运行该查询,在Visual FoxPro 6.0 窗口,选择“程序”菜单中的“运行”,从打开的“运行”窗口中选择要运行的查询,如“查询1.qpr”,显示查询运行结果。

另一种运行方法是使用命令方式,命令格式如下: DO 查询文件名.qpr 例如,在命令窗口键入: DO查询1.qpr 命令中的查询文件名必须给出扩展名.qpr。

说明:同学们,查询文件的扩展名是.qpr,这一点大家要牢牢掌握。

任务1:在各科成绩表中查询语文小于60并且数学也小于60的同学的信息,要求显示的字段有学号、姓名、语文、数学。

等学生完成后,提问一两个同学到大屏幕上进行操作,然后纠正他们出现的问题。任务2:在学籍信息登记表中,查询1982年1月1日以后出生的所有男生的信息,要求显示的字段有学号、姓名、性别、出生年月、是否党员、入学成绩,查询结果保存为查询3。

提示:日期时间型的数据应该是怎么表示的? 这个题目中共限制了几个查询条件。

同样,等学生完成后,提问一两个同学到大屏幕上进行操作,然后纠正他们出现的问题,在这里尤其要强调的是日期时间型数据的表示方法。1982年1月1日以后出生到底是大于这个日期还是小于,让学生自己试试,这样才能达到很好的效果。小结: 同学们,我们本节课主要讲授了使用查询向导来对数据表进行简单的查询,使用查询能让我们在庞大的数据海洋里面很轻松的找到我们需要的记录,能大大节约时间,提高效率,同学们下去一定要多多的练习。

第14课时 使用查询设计器创建查询

一、教学目的1、使学生掌握使用查询设计器创建查询的方法。

2、理解查询向导和使用查询设计器创建查询的方法。

二、教学重难点 使用查询设计器创建查询

三、教学方法 举例 讲授 演示

四、教学过程

同学们,利用查询设计器可以按照需要设计一个查询,如将满足条件的记录选择出来。而且还可以用它对一个已有的查询进行编辑和修改。下面用二个例子来说明如何创建满足条件的查询。

例6.7 创建一个名为“数学及格”的选择查询,将表“grade”中数学成绩高于等于60 分的记录选择出来,查询包括“学生编号”、“数学”、“英语”、“计算机”等字段,并按数学成绩从高到低排序。

使用查询设计器创建一个选择查询来解决以上问题,操作步骤如下:(1)在数据库窗口选中“查询”对象,单击“在设计视图中创建查询”选项,进入“选择查询”窗口,同时弹出“显示表”对话框。

(2)单击“表”选项卡,双击“grade”,把“grade”表选入查询设计器的表/查询显示区后,关闭“显示表”对话框。

(3)分别双击“学生编号”、“数学”、“英语”和“计算机”字段名,将它们添加到查询设计区的网格中,如下左图所示。

(4)将光标定位在“数学”的“准则”框内,输入“>=60”,再将光标定位在排序的框内,单击出现的下拉箭头,如上左图中箭头所示,在出现的下拉列表框中选择“降序”。

(5)单击右上角的关闭按钮,保存对查询设计的更改,在出现的“另存为”对话框中输入“数学及格”,然后单击“确定”。查询“数学及格”添加到数据库窗口中。(6)在“数学及格”查询上双击,显示查询结果集,如上右图所示。教师在大屏幕上演示操作方法,学生自己观摩。

总结:同学们,使用查询设计器设计查询要经过以下步骤:

1、打开查询设计器

2、选择想从中获取的信息的表或视图,并建立好它们之间的联系。

3、选择出现在查询结果中的字段。

4、设置筛选的条件,查找所需的记录。

5、设置排序,分组等选项,组织查询结果。

6、选择查询结果输出的方向,表,报表,或浏览等。(下节课介绍)

7、运行查询。

8、保存查询文件。

第15课时 复习查询设计器创建查询

一、教学目的1、使学生掌握使用查询设计器创建查询的方法。

2、理解查询向导和使用查询设计器创建查询的方法。

二、教学重难点 使用查询设计器创建查询

三、教学方法 举例 讲授 演示

四、教学过程

例6.8建立一个名为“成绩总分”的查询,包含 “学号”、“姓名”、“数学”、“英语”、“计算机” 字段,并新建一个总分字段。其中:总分=数学+英语+计算机,并将总分大于240的记录显示出来。操作步骤

(1)在数据库窗口选中“查询”对象,选择“在设计视图中创建查询”,进入“选择查询”窗口,同时弹出“显示表”对话框。

(2)单击“表”选项卡,由于数据来源于“grade”和“students”两个表,分别双击“grade”、“students”,然后关闭“显示表”对话框。由于在6.2.7节已在“grade”和“students”表间建立了关系,故在它们之间出现一对一的关系连线,如下图所示。

(3)分别双击“学号”、“姓名”、“数学”、“英语”和“计算机”字段名,把要求在查询中显示的“学号”等各个字段添加到查询设计区内,如上图所示。

(4)将光标定位到空白字段中,如上图中箭头所示。此时,工具栏上生成器按钮 变为可用,单击它,弹出表达式生成器对话框如下图所示。

(5)在上图的左下方的框内,双击“表”文件夹,选择出现的“grade”表,如上图所示,在中间的框中会显示出“grade”表的所有字段。

(5)双击“数学”,单击“+”,双击“英语”,单击“+”,双击“计算机”,则整个公式[grade]![数学] + [grade]![英语] + [grade]![计算机] 就显示出来,如上图上部框中间所示。

(7)单击“确定”按钮,可以看到表达式出现在字段框中,把“表达式1”这几个字改成“总分”(注意:冒号及冒号右边的内容不能改动),在下面的准则框中,输入“>240”,如下左图中箭头所示。

图6.4.3.4图6.4.3.5(8)单击窗口右上角的“关闭”,保存更改。在弹出的“另存为”对话框中,输入查询名“成绩总分”,单击“确定”。双击建好的查询“成绩总分”,查询结果如上右图所示。

学生先进行操作,不会的地方教师进行详细的讲解和大屏幕上演示。小结: 本节主要通过实例让同学们熟练的掌握查询设计器来设计查询的的过程,对查询设计器在数据库中的一些具体应用有了更深入的了解。

第16课时 设置查询的去向

一、教学目的

使学生能熟练掌握设置查询的去向的方法。

二、教学重难点 设置查询的去向

三、教学方法 举例 讲授 演示

四、教学过程 同学们,我们前面所使用的查询结果都是在表中显示出来的,但是如果我们要用其它方式来显示查询结果,这就是我们本节课需要学习的知识。

设置查询去向

当我们单击工具栏上的“查询去向”按钮,或从“查询”菜单中选择“查询去向”,或单击右键并在快捷菜单中选择“输出设置”都可以出现下面的“查询去向”对话框。

它有七个不同的选项,允许将查询结果传送给七个不同的输出设备。选择不同的按钮,其窗口中的选项也不一样。上图中是默认的“浏览”,即将查询结果送到“浏览”窗口中显示,以进行检查和编辑。

当单击“临时表”时,窗口如下:

以指定的名称把查询结果存贮于临时表中。此临时表只读,并在“数据工作期”窗口中出现。临时表可用于浏览,生成报表或其他目的。当关闭这个表时,查询结果随之消失。当单击“表”时,窗口如下:

用指定的文件名,将查询结果存为(.dbf)表文件。“表名”选项用来指定表的名称。既可以在文本框中键入名称,也可以使用三点按钮来选择一个已有的、要覆盖的表。

单击“图形”按钮,产生可由 Microsoft Graph处理的图形。在设置GENGRAPH之后才可用。

单击“屏幕”按钮,使查询结果在活动输出窗口中显示。通过选择“次级输出”中的单选按钮可以在把查询结果输出到屏幕的同时输出到打印机或文本文件。“选项”复选框可以设置是否输出列标头和是否在屏幕之间暂停。

单击“报表”按钮,将查询结果按某一报表布局显示。使用此选项必须先设置报表文件(.frx),来容纳查询中的输出字段。如下图:

在“打开报表”文本框中输入报表名,或单击“打开报表”按钮选择报表名,或者单击右侧的报表向导按钮进入报表向导,产生一个报表。“次级输出”同“屏幕”。

如果选择“页面预览”将在“页面预览”窗口中显示输出结果。

如果选择“活动控件台”将在活动输出窗口中显示输出结果。

如果选择“报告之前释放页”,将在报表开始之前打印一空白页,以在打印机上隔开文档

如果选择“仅总结信息”,将不打印细节信息。所生成的报表包括标头、注脚、总计信息等等,但不包括细节信息。

单击“标签”按钮,将会将查询结果输出到一个标签文件(.LBX)。使用此选项必须先设置标签文件,来容纳查询中的输出字段。其选项前面几个去向中已介绍。

第17课时 复习

一、教学目的

通过让学生做一些练习题来掌握有关查询的使用。

二、教学重难点 设置查询的去向

三、教学方法 举例 讲授 演示

四、教学过程 选择题

1.现实世界中事物在某一方面的特性在信息世界中称为()A.实体 B.实体值 C.属性 D.信息

2.数据的存储结构与数据逻辑结构之间的独立性称为数据的()A.结构独立性 B.物理独立性 C.逻辑独立性 D.分布独立性

3.应用程序设计的工作开始于数据库设计步骤的()A.需求分析阶段 B.概念设计阶段

C.逻辑设计阶段 D.物理设计阶段 4.在关系R中,代数表达式 σ3<4(R)表示()A.从R中选择值为3的分量小于第4个分量的元组组成的关系 B.从R中选择第3个分量值小于第4个分量的元组组成的关系

C.从R中选择第3个分量的值小于4的元组组成的关系

D.从R中选择所有元组组成的关系

5.对关系模式进行分解时,要使分解具有无损失连接性,在下属范式中最高可以达到()A.2NF B.3NF C.BCNF D.4NF 6.事务的ACID性质,是指事务具有原子性、一致性和()A.隔离性、透明性 B.独立性、透明性

C.隔离性、持久性 D.共享性、持久性

7.各个场地采用同一类型的数据模型,使用不同型号的DBMS,这种分布式数据库系统的类型属于()A.同构同质型 B.同构异质型 C.异构同质型 D.异构异质型 8.为解决“丢失更新”问题,事务在更新一个数据集合前,必须获得对它的()A.S锁 B.X锁 C.S锁和X锁 D.S锁或X锁

9.在删除基本表中某个元组时,将以此表为参照表的关系中外键与主键相同的元组一起删除,应采用的方式是()A.RESSTRDICT方式 B.CASCADE方式 C.SET NULL方式 D.CHECK方式

10.在SQL的查询语句中,对应关系代数中“投影”运算的语句是()A.SELECT B.FROM C.WHERE D.SET 11.在关系模式R(U,F)中,X,Y,Z是U中属性,则多值依赖的传递律是()A.如果X→→Y,Y→→Z,则X→→Z B.如果X→→Y,Y→→Z,则X→→YZ C.如果X→→Y,Y→→Z,则X→→YZ D.如果X→→Y,Y→→Z,则X→→Z-Y 12.在数据库设计中,将E-R图转换成关系数据模型的过程属于()A.需求分析阶段

B.逻辑设计阶段

C.概念设计阶段

D.物理设计阶段

13.关系代数的五个基本操作可直接转换成元组关系演算表达式,它们是:并、差、投影、选择和()

A.交

B.笛卡尔积

C.自然连接

D.除法 14.SQL语言具有的功能是()A.关系规范化,数据操纵,数据控制

B.数据定义,数据操纵,数据控制

C.数据定义,关系规范化,数据控制

D.数据定义,关系规范化,数据操纵

第18课时 多表查询(1)

一、教学目的

使学生掌握使用查询设计器对多表进行查询

二、教学重难点 多表查询

三、教学方法 举例 讲授 演示

四、教学过程 同学们,前面我们学习的查询都是基于一个表进行的,那么如果要在多个表之间进行查询的话,那就要使用多表查询,就是我们本节课需要学习的知识了。

我们通过一个例子来让同学们了解多表查询的方法。

为了以后举例的方便,我们再建立一个“图书订货库”,它包括图书表、订货表、客户表三个表。分别将图书表.书名、客户表.客户名称设置为主索引,将订货表.书名和客户名称设置为普通索引,并且在各表之间建立关联。如下图:

在图书表中输入数据(所有数据为随意设置,不做实际参考),如下图:

在订货表中输入数据,如下图:

在客户表中输入内容,如下图:

我们建立这个多表查询的目的是查询“客户名称”为新华书店的订货信息。

我们看到,图书订货数据库中图书表和客户表是多对多关系,即一种书可由多个客户订购,一个客户可订购多种书。而图书表和订货表、客户表和订货表都是一对多关系。

小结:本节主要是让同学们先建立我们需要的数据表,为下一节课的多表查询建立基础。

第19课时 多表查询(2)

一、教学目的

使学生掌握使用查询设计器对多表进行查询

二、教学重难点 多表查询

三、教学方法 举例 讲授 演示

四、教学过程 同学们,上一节课我们建立了几个表,这节课我们就用这几个表来建立一个多表查询。接上节课的内容。我们打开“文件”菜单,单击“新建”,选择“查询”并单击“新件文件”按钮,进入查询设计器。在“添加表或视图”窗口中依次将“图书订货库”的图书表、订货表和客户表加入到表设计器。如下图:

由于我们在“图书订货库”中建立了表间永久关系,因此在添加的表之间自动产生关联。

注意:如果我们添加了图书表后接着添加客户表,由于我们在数据库中未建立两表的直接关联,便会弹出一个“联接条件”对话框,要求加入联接条件,我们不需要这两表建立直接关联,按“取消”按钮即可。如下图:

我们需要了解的项目有客户名称、订购的书名、每本书的定价、订货数量、每种书的预付款总额、客户联系电话,联系人等。因此我们在“字段”选项卡中选择加入相应的字段。

其中的每种书预付款总额没有与之相应的字段,需要在“函数和表达式”文本框中建立。单击文本框右侧的三点按钮,进入“表达式设计器”,通过选择或输入,在“表达式”框中建立表达式“图书表.定价*订货表.订货数量*0.75",其中的0.75指当一次性交清款,将按75折给予优惠。如下图:

按“确定”按钮关闭表达式生成器。这时在查询设计器中的“表达式和函数”文本框中出现刚才建立的表达式,按“添加”按钮,将表达式加入“选定字段”,并用垂直双向箭头调整字段输出的顺序。如下图:

小结:我们本节课主要向同学们介绍了多表查询的一部分操作,同学们一定要掌握多表查询之间几个表的关系,要区分开什么是内部连接、左连接、右连接和完全连接的区别。

第20课时 多表查询(3)

一、教学目的

使学生掌握使用查询设计器对多表进行查询

二、教学重难点 多表查询

三、教学方法 举例 讲授 演示

四、教学过程 在“联接”选项卡中我们取默认的内部联接。由于要查询的是各表之间的匹配记录,因此在为各表间的联接都要为内部联接。如下图:

在“筛选”选项卡中设置筛选条件。一种条件可以有几种表示方法,如何设置根据个人习惯。筛选条件和上面的联接条件类似,两者都是先比较值,然后输出满足条件的记录。不同的是两者比较的对象,联接条件是将一个表的字段值与另一个表的字段值相比较,而筛选条件则是字段值与筛选值(实例文本)相比较。这里我们选择、输入:订货表.客户名称=新华书店 我们希望按照预付款数额由小到大排列,因此我们从“选定字段”中将表达式添加到“排序条件”框中。如下图:

我们不需要分组,“分组依据”选项卡不设置。“杂项”取默认值。这样,基于“图书订货库”的一个查询就完成了。

单击鼠标右键,在快捷菜单中选取“运行查询”,就会在默认的“浏览”窗口中看到我们查询的结果,如下图:

和输出到“浏览”窗口类似,如果我们选择“屏幕”则会将查询结果显示在屏幕上。

如果我们在“查询去向”中选择“表”,并在其文本框中输入“ls”,则当我们运行查询后,查询结果就送到ls.dbf表中,用来进行各种操作。从“打开”窗口就可看到出现了 ls.dbf 的表名。如下图:

和选择“表”类似,如果选择“报表”或“标签”,会将这次查询的结果送到指定的报表和标签中去。

小结:同学们,我们利用了三节课来学习多表查询的使用方法,这在我们以后的学习中经常能用到,同学们下去要多加练习。

下载VF电子教案(表单练习)word格式文档
下载VF电子教案(表单练习).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    《表单网页》教案

    《表单网页》教案 【教学目标】 1.知识与技能 ⑴了解表单网页的概念和作用; ⑵掌握表单网页的制作方法。 2.过程与方法 通过阅读课本、观看演示回忆、感受表单网页的作用;在递进......

    VF数据库程序设计教案

    Visual Foxpro数据库程序设计教案 姓名:李运娣 系别: 计算机 第1章 Visual FoxPro 数据库基础 本章重点与学习目标:  了解数据库系统的相关概念  数据、数据库、数据库管理系统......

    VF统计命令教案

    VF——统计命令 教学目标: 1、知识目标:理解掌握统计命令的格式及应用 2、能力目标:培养学生分析判断能力 3、情感目标:培养学生科学探索精神 教学重点:命令格式的应用 教学难点:......

    借款申请单:电子表单实例介绍(四)

    【纸质的借款申请单】 纸质借款申请单包括企业向银行借款,企业与企业之间借款,企业内部借款,在这里我们主要指的是企业内部的借款。 在企业内部,职员时常会因为出差、办理展会......

    电子合同练习

    《电子商务法律基础知识》 第六章 电子合同法律制度 一课一练答案2010-10-26 20:02:55|分类: 电子商务法律基础 |标签: |字号大中小 订阅 .一、单项选择题 1 教授甲举办学术讲......

    第一章 VF数据库基础教案(最终定稿)

    第一章 VF数据库基础 一、什么叫数据: 是指存储在某种媒体上的能够识别的物理符号如:数字、字母、文字、特殊字符组成的文本形式数据,还有图形、动画、影像、声音等多媒体数据,......

    VFP《表单设计与应用》教案

    表单设计与应用 一、提出任务 1.任务目标 在前面所学使用表单设计器创建表单的基础上,讲解如何将多个控件联系起来。 2. 解决的问题 能够合理运用多个控件制作综合实例。 3.......

    电子教案教案样板

    授课日期:(按从开学开始) 授课班级:中专(5)班 授课课题:第一章第1节服务概述、第2节礼仪概述、第3节服务礼仪的基本概念 教学目标: 1、知识目标:1)理解服务的含义及其特征、礼仪的含义......